﻿2026-06-06T06:01:02.2131455Z ##[group]Run ./traceable-reqs check --json
2026-06-06T06:01:02.2133260Z [36;1m./traceable-reqs check --json[0m
2026-06-06T06:01:02.2158493Z shell: /usr/bin/bash -e {0}
2026-06-06T06:01:02.2160058Z ##[endgroup]
2026-06-06T06:01:02.2420502Z {
2026-06-06T06:01:02.2421767Z   "schemaVersion": 1,
2026-06-06T06:01:02.2423051Z   "summary": {
2026-06-06T06:01:02.2424254Z     "requirementCount": 144,
2026-06-06T06:01:02.2425781Z     "completeCount": 144,
2026-06-06T06:01:02.2427161Z     "incompleteCount": 0,
2026-06-06T06:01:02.2428532Z     "findingCount": 0
2026-06-06T06:01:02.2429839Z   },
2026-06-06T06:01:02.2430944Z   "requirements": [
2026-06-06T06:01:02.2432143Z     {
2026-06-06T06:01:02.2433208Z       "id": "REQ-API-1",
2026-06-06T06:01:02.2435144Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-06T06:01:02.2437420Z       "requiredStages": [
2026-06-06T06:01:02.2438740Z         "impl",
2026-06-06T06:01:02.2439927Z         "unit",
2026-06-06T06:01:02.2441061Z         "int"
2026-06-06T06:01:02.2442273Z       ],
2026-06-06T06:01:02.2443339Z       "stages": {
2026-06-06T06:01:02.2463033Z         "doc": {
2026-06-06T06:01:02.2464221Z           "complete": false,
2026-06-06T06:01:02.2465591Z           "evidence": []
2026-06-06T06:01:02.2466831Z         },
2026-06-06T06:01:02.2467880Z         "impl": {
2026-06-06T06:01:02.2469066Z           "complete": true,
2026-06-06T06:01:02.2470542Z           "evidence": [
2026-06-06T06:01:02.2471839Z             {
2026-06-06T06:01:02.2473179Z               "path": "crates/spt/src/api/mod.rs",
2026-06-06T06:01:02.2474922Z               "line": 15
2026-06-06T06:01:02.2476223Z             }
2026-06-06T06:01:02.2477394Z           ]
2026-06-06T06:01:02.2478531Z         },
2026-06-06T06:01:02.2479974Z         "int": {
2026-06-06T06:01:02.2481242Z           "complete": true,
2026-06-06T06:01:02.2489874Z           "evidence": [
2026-06-06T06:01:02.2491360Z             {
2026-06-06T06:01:02.2492726Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:01:02.2494552Z               "line": 13
2026-06-06T06:01:02.2495807Z             }
2026-06-06T06:01:02.2496914Z           ]
2026-06-06T06:01:02.2497967Z         },
2026-06-06T06:01:02.2499026Z         "unit": {
2026-06-06T06:01:02.2500295Z           "complete": true,
2026-06-06T06:01:02.2501623Z           "evidence": [
2026-06-06T06:01:02.2502835Z             {
2026-06-06T06:01:02.2504130Z               "path": "crates/spt/src/api/mod.rs",
2026-06-06T06:01:02.2505826Z               "line": 403
2026-06-06T06:01:02.2507094Z             },
2026-06-06T06:01:02.2508206Z             {
2026-06-06T06:01:02.2509562Z               "path": "crates/spt/src/api/mod.rs",
2026-06-06T06:01:02.2511334Z               "line": 409
2026-06-06T06:01:02.2512614Z             },
2026-06-06T06:01:02.2513805Z             {
2026-06-06T06:01:02.2515117Z               "path": "crates/spt/src/api/mod.rs",
2026-06-06T06:01:02.2516786Z               "line": 429
2026-06-06T06:01:02.2518016Z             }
2026-06-06T06:01:02.2519107Z           ]
2026-06-06T06:01:02.2520334Z         }
2026-06-06T06:01:02.2521313Z       }
2026-06-06T06:01:02.2522267Z     },
2026-06-06T06:01:02.2523247Z     {
2026-06-06T06:01:02.2524251Z       "id": "REQ-API-2",
2026-06-06T06:01:02.2526320Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-06T06:01:02.2528700Z       "requiredStages": [
2026-06-06T06:01:02.2530756Z         "impl",
2026-06-06T06:01:02.2531828Z         "unit",
2026-06-06T06:01:02.2532887Z         "int"
2026-06-06T06:01:02.2533927Z       ],
2026-06-06T06:01:02.2534938Z       "stages": {
2026-06-06T06:01:02.2536019Z         "doc": {
2026-06-06T06:01:02.2537149Z           "complete": false,
2026-06-06T06:01:02.2538459Z           "evidence": []
2026-06-06T06:01:02.2540111Z         },
2026-06-06T06:01:02.2541127Z         "impl": {
2026-06-06T06:01:02.2542256Z           "complete": true,
2026-06-06T06:01:02.2543527Z           "evidence": [
2026-06-06T06:01:02.2544690Z             {
2026-06-06T06:01:02.2546362Z               "path": "crates/spt-store/src/history.rs",
2026-06-06T06:01:02.2548052Z               "line": 15
2026-06-06T06:01:02.2549449Z             },
2026-06-06T06:01:02.2550670Z             {
2026-06-06T06:01:02.2551935Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:01:02.2553597Z               "line": 20
2026-06-06T06:01:02.2554788Z             },
2026-06-06T06:01:02.2555845Z             {
2026-06-06T06:01:02.2557096Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:01:02.2558745Z               "line": 125
2026-06-06T06:01:02.2560329Z             },
2026-06-06T06:01:02.2561379Z             {
2026-06-06T06:01:02.2562664Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.2564337Z               "line": 21
2026-06-06T06:01:02.2565517Z             },
2026-06-06T06:01:02.2566550Z             {
2026-06-06T06:01:02.2567827Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.2569704Z               "line": 38
2026-06-06T06:01:02.2571083Z             },
2026-06-06T06:01:02.2572131Z             {
2026-06-06T06:01:02.2573399Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.2575080Z               "line": 187
2026-06-06T06:01:02.2576272Z             },
2026-06-06T06:01:02.2577313Z             {
2026-06-06T06:01:02.2578582Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.2580599Z               "line": 226
2026-06-06T06:01:02.2581816Z             },
2026-06-06T06:01:02.2582875Z             {
2026-06-06T06:01:02.2584139Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.2585816Z               "line": 256
2026-06-06T06:01:02.2587015Z             },
2026-06-06T06:01:02.2588054Z             {
2026-06-06T06:01:02.2589335Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:01:02.2591298Z               "line": 17
2026-06-06T06:01:02.2592483Z             },
2026-06-06T06:01:02.2593527Z             {
2026-06-06T06:01:02.2594784Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:01:02.2596416Z               "line": 30
2026-06-06T06:01:02.2597615Z             },
2026-06-06T06:01:02.2598652Z             {
2026-06-06T06:01:02.2600248Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:01:02.2601882Z               "line": 63
2026-06-06T06:01:02.2603066Z             },
2026-06-06T06:01:02.2604135Z             {
2026-06-06T06:01:02.2605365Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:01:02.2607003Z               "line": 76
2026-06-06T06:01:02.2608186Z             }
2026-06-06T06:01:02.2609245Z           ]
2026-06-06T06:01:02.2610578Z         },
2026-06-06T06:01:02.2611589Z         "int": {
2026-06-06T06:01:02.2612715Z           "complete": true,
2026-06-06T06:01:02.2613989Z           "evidence": [
2026-06-06T06:01:02.2615169Z             {
2026-06-06T06:01:02.2616436Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:01:02.2618116Z               "line": 14
2026-06-06T06:01:02.2619359Z             },
2026-06-06T06:01:02.2620741Z             {
2026-06-06T06:01:02.2622019Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:01:02.2623701Z               "line": 151
2026-06-06T06:01:02.2624900Z             }
2026-06-06T06:01:02.2625950Z           ]
2026-06-06T06:01:02.2626948Z         },
2026-06-06T06:01:02.2627949Z         "unit": {
2026-06-06T06:01:02.2629564Z           "complete": true,
2026-06-06T06:01:02.2631716Z           "evidence": [
2026-06-06T06:01:02.2632896Z             {
2026-06-06T06:01:02.2634188Z               "path": "crates/spt-store/src/history.rs",
2026-06-06T06:01:02.2635865Z               "line": 42
2026-06-06T06:01:02.2637042Z             },
2026-06-06T06:01:02.2638102Z             {
2026-06-06T06:01:02.2639418Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:01:02.2641073Z               "line": 234
2026-06-06T06:01:02.2642299Z             },
2026-06-06T06:01:02.2643337Z             {
2026-06-06T06:01:02.2644834Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.2646521Z               "line": 425
2026-06-06T06:01:02.2647710Z             },
2026-06-06T06:01:02.2648767Z             {
2026-06-06T06:01:02.2650105Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.2651781Z               "line": 436
2026-06-06T06:01:02.2652983Z             },
2026-06-06T06:01:02.2654032Z             {
2026-06-06T06:01:02.2655394Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.2657048Z               "line": 542
2026-06-06T06:01:02.2658241Z             },
2026-06-06T06:01:02.2659323Z             {
2026-06-06T06:01:02.2660592Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.2662240Z               "line": 554
2026-06-06T06:01:02.2663430Z             },
2026-06-06T06:01:02.2664447Z             {
2026-06-06T06:01:02.2665701Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:01:02.2667306Z               "line": 141
2026-06-06T06:01:02.2668499Z             },
2026-06-06T06:01:02.2669572Z             {
2026-06-06T06:01:02.2670792Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:01:02.2672387Z               "line": 176
2026-06-06T06:01:02.2673557Z             }
2026-06-06T06:01:02.2674575Z           ]
2026-06-06T06:01:02.2675550Z         }
2026-06-06T06:01:02.2676524Z       }
2026-06-06T06:01:02.2677468Z     },
2026-06-06T06:01:02.2678423Z     {
2026-06-06T06:01:02.2679461Z       "id": "REQ-API-3",
2026-06-06T06:01:02.2681028Z       "title": "commune/signoff are file-drops, not commands",
2026-06-06T06:01:02.2682839Z       "requiredStages": [
2026-06-06T06:01:02.2684062Z         "impl",
2026-06-06T06:01:02.2685119Z         "unit",
2026-06-06T06:01:02.2686151Z         "int"
2026-06-06T06:01:02.2687152Z       ],
2026-06-06T06:01:02.2688130Z       "stages": {
2026-06-06T06:01:02.2689219Z         "doc": {
2026-06-06T06:01:02.2690331Z           "complete": false,
2026-06-06T06:01:02.2691603Z           "evidence": []
2026-06-06T06:01:02.2692779Z         },
2026-06-06T06:01:02.2693770Z         "impl": {
2026-06-06T06:01:02.2694888Z           "complete": true,
2026-06-06T06:01:02.2696124Z           "evidence": [
2026-06-06T06:01:02.2697252Z             {
2026-06-06T06:01:02.2698477Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:01:02.2700122Z               "line": 27
2026-06-06T06:01:02.2701287Z             },
2026-06-06T06:01:02.2702308Z             {
2026-06-06T06:01:02.2703567Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.2705210Z               "line": 362
2026-06-06T06:01:02.2706379Z             }
2026-06-06T06:01:02.2707372Z           ]
2026-06-06T06:01:02.2708334Z         },
2026-06-06T06:01:02.2709350Z         "int": {
2026-06-06T06:01:02.2710450Z           "complete": true,
2026-06-06T06:01:02.2711691Z           "evidence": [
2026-06-06T06:01:02.2712821Z             {
2026-06-06T06:01:02.2714073Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:01:02.2715754Z               "line": 203
2026-06-06T06:01:02.2716919Z             }
2026-06-06T06:01:02.2717919Z           ]
2026-06-06T06:01:02.2718885Z         },
2026-06-06T06:01:02.2719910Z         "unit": {
2026-06-06T06:01:02.2721021Z           "complete": true,
2026-06-06T06:01:02.2722273Z           "evidence": [
2026-06-06T06:01:02.2723395Z             {
2026-06-06T06:01:02.2724847Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:01:02.2726460Z               "line": 230
2026-06-06T06:01:02.2727634Z             },
2026-06-06T06:01:02.2728656Z             {
2026-06-06T06:01:02.2729961Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.2731617Z               "line": 583
2026-06-06T06:01:02.2732779Z             }
2026-06-06T06:01:02.2733778Z           ]
2026-06-06T06:01:02.2734758Z         }
2026-06-06T06:01:02.2735729Z       }
2026-06-06T06:01:02.2736666Z     },
2026-06-06T06:01:02.2737604Z     {
2026-06-06T06:01:02.2738595Z       "id": "REQ-ARCH-1",
2026-06-06T06:01:02.2740275Z       "title": "Many small acyclically-layered crates",
2026-06-06T06:01:02.2759270Z       "requiredStages": [
2026-06-06T06:01:02.2760583Z         "impl"
2026-06-06T06:01:02.2761585Z       ],
2026-06-06T06:01:02.2762537Z       "stages": {
2026-06-06T06:01:02.2763575Z         "doc": {
2026-06-06T06:01:02.2764648Z           "complete": false,
2026-06-06T06:01:02.2765974Z           "evidence": []
2026-06-06T06:01:02.2767112Z         },
2026-06-06T06:01:02.2768074Z         "impl": {
2026-06-06T06:01:02.2769205Z           "complete": true,
2026-06-06T06:01:02.2770429Z           "evidence": [
2026-06-06T06:01:02.2771540Z             {
2026-06-06T06:01:02.2772707Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-06T06:01:02.2774247Z               "line": 16
2026-06-06T06:01:02.2775376Z             },
2026-06-06T06:01:02.2776380Z             {
2026-06-06T06:01:02.2777556Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-06T06:01:02.2779133Z               "line": 12
2026-06-06T06:01:02.2780342Z             },
2026-06-06T06:01:02.2781340Z             {
2026-06-06T06:01:02.2782537Z               "path": "crates/spt-store/src/lib.rs",
2026-06-06T06:01:02.2784112Z               "line": 12
2026-06-06T06:01:02.2785246Z             }
2026-06-06T06:01:02.2786234Z           ]
2026-06-06T06:01:02.2787196Z         },
2026-06-06T06:01:02.2788186Z         "int": {
2026-06-06T06:01:02.2789303Z           "complete": false,
2026-06-06T06:01:02.2790573Z           "evidence": []
2026-06-06T06:01:02.2791714Z         },
2026-06-06T06:01:02.2792677Z         "unit": {
2026-06-06T06:01:02.2793765Z           "complete": false,
2026-06-06T06:01:02.2795028Z           "evidence": []
2026-06-06T06:01:02.2796168Z         }
2026-06-06T06:01:02.2797101Z       }
2026-06-06T06:01:02.2798021Z     },
2026-06-06T06:01:02.2798962Z     {
2026-06-06T06:01:02.2799993Z       "id": "REQ-ARCH-2",
2026-06-06T06:01:02.2801712Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-06T06:01:02.2803693Z       "requiredStages": [
2026-06-06T06:01:02.2804884Z         "impl"
2026-06-06T06:01:02.2805886Z       ],
2026-06-06T06:01:02.2806851Z       "stages": {
2026-06-06T06:01:02.2807898Z         "doc": {
2026-06-06T06:01:02.2808992Z           "complete": false,
2026-06-06T06:01:02.2810308Z           "evidence": []
2026-06-06T06:01:02.2811466Z         },
2026-06-06T06:01:02.2812455Z         "impl": {
2026-06-06T06:01:02.2813552Z           "complete": true,
2026-06-06T06:01:02.2814772Z           "evidence": [
2026-06-06T06:01:02.2815884Z             {
2026-06-06T06:01:02.2817092Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-06T06:01:02.2818685Z               "line": 18
2026-06-06T06:01:02.2819880Z             }
2026-06-06T06:01:02.2820882Z           ]
2026-06-06T06:01:02.2821857Z         },
2026-06-06T06:01:02.2822830Z         "int": {
2026-06-06T06:01:02.2823933Z           "complete": false,
2026-06-06T06:01:02.2825204Z           "evidence": []
2026-06-06T06:01:02.2826372Z         },
2026-06-06T06:01:02.2827346Z         "unit": {
2026-06-06T06:01:02.2828449Z           "complete": false,
2026-06-06T06:01:02.2829752Z           "evidence": []
2026-06-06T06:01:02.2830893Z         }
2026-06-06T06:01:02.2831830Z       }
2026-06-06T06:01:02.2832753Z     },
2026-06-06T06:01:02.2833684Z     {
2026-06-06T06:01:02.2834679Z       "id": "REQ-ARCH-3",
2026-06-06T06:01:02.2837078Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-06T06:01:02.2839410Z       "requiredStages": [
2026-06-06T06:01:02.2840617Z         "impl",
2026-06-06T06:01:02.2841897Z         "unit"
2026-06-06T06:01:02.2842974Z       ],
2026-06-06T06:01:02.2843977Z       "stages": {
2026-06-06T06:01:02.2845062Z         "doc": {
2026-06-06T06:01:02.2846206Z           "complete": false,
2026-06-06T06:01:02.2847566Z           "evidence": []
2026-06-06T06:01:02.2848768Z         },
2026-06-06T06:01:02.2849999Z         "impl": {
2026-06-06T06:01:02.2851108Z           "complete": true,
2026-06-06T06:01:02.2852533Z           "evidence": [
2026-06-06T06:01:02.2853657Z             {
2026-06-06T06:01:02.2854922Z               "path": "crates/spt-proto/src/version.rs",
2026-06-06T06:01:02.2856550Z               "line": 34
2026-06-06T06:01:02.2857708Z             },
2026-06-06T06:01:02.2858728Z             {
2026-06-06T06:01:02.2860395Z               "path": "crates/spt-proto/src/version.rs",
2026-06-06T06:01:02.2862042Z               "line": 41
2026-06-06T06:01:02.2863225Z             }
2026-06-06T06:01:02.2864223Z           ]
2026-06-06T06:01:02.2865191Z         },
2026-06-06T06:01:02.2866166Z         "int": {
2026-06-06T06:01:02.2867268Z           "complete": false,
2026-06-06T06:01:02.2868554Z           "evidence": []
2026-06-06T06:01:02.2869941Z         },
2026-06-06T06:01:02.2870955Z         "unit": {
2026-06-06T06:01:02.2872100Z           "complete": true,
2026-06-06T06:01:02.2873399Z           "evidence": [
2026-06-06T06:01:02.2874562Z             {
2026-06-06T06:01:02.2875871Z               "path": "crates/spt-proto/src/version.rs",
2026-06-06T06:01:02.2877579Z               "line": 51
2026-06-06T06:01:02.2878780Z             },
2026-06-06T06:01:02.2879932Z             {
2026-06-06T06:01:02.2881487Z               "path": "crates/spt-proto/src/version.rs",
2026-06-06T06:01:02.2883294Z               "line": 65
2026-06-06T06:01:02.2884586Z             },
2026-06-06T06:01:02.2885689Z             {
2026-06-06T06:01:02.2887062Z               "path": "crates/spt-proto/src/version.rs",
2026-06-06T06:01:02.2888887Z               "line": 74
2026-06-06T06:01:02.2890536Z             }
2026-06-06T06:01:02.2891593Z           ]
2026-06-06T06:01:02.2892657Z         }
2026-06-06T06:01:02.2893690Z       }
2026-06-06T06:01:02.2894702Z     },
2026-06-06T06:01:02.2895976Z     {
2026-06-06T06:01:02.2897182Z       "id": "REQ-ARCH-4",
2026-06-06T06:01:02.2899291Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-06T06:01:02.2902015Z       "requiredStages": [
2026-06-06T06:01:02.2903260Z         "impl",
2026-06-06T06:01:02.2904310Z         "unit"
2026-06-06T06:01:02.2905315Z       ],
2026-06-06T06:01:02.2906294Z       "stages": {
2026-06-06T06:01:02.2907357Z         "doc": {
2026-06-06T06:01:02.2908473Z           "complete": false,
2026-06-06T06:01:02.2909788Z           "evidence": []
2026-06-06T06:01:02.2910950Z         },
2026-06-06T06:01:02.2911931Z         "impl": {
2026-06-06T06:01:02.2913387Z           "complete": true,
2026-06-06T06:01:02.2914624Z           "evidence": [
2026-06-06T06:01:02.2915750Z             {
2026-06-06T06:01:02.2916967Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:01:02.2918559Z               "line": 82
2026-06-06T06:01:02.2919764Z             },
2026-06-06T06:01:02.2920779Z             {
2026-06-06T06:01:02.2922002Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:01:02.2923601Z               "line": 96
2026-06-06T06:01:02.2924745Z             },
2026-06-06T06:01:02.2925765Z             {
2026-06-06T06:01:02.2926998Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:01:02.2928584Z               "line": 116
2026-06-06T06:01:02.2929789Z             },
2026-06-06T06:01:02.2930812Z             {
2026-06-06T06:01:02.2932027Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:01:02.2933612Z               "line": 131
2026-06-06T06:01:02.2934786Z             },
2026-06-06T06:01:02.2936126Z             {
2026-06-06T06:01:02.2937326Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:01:02.2938918Z               "line": 181
2026-06-06T06:01:02.2940133Z             }
2026-06-06T06:01:02.2941183Z           ]
2026-06-06T06:01:02.2942148Z         },
2026-06-06T06:01:02.2943123Z         "int": {
2026-06-06T06:01:02.2944227Z           "complete": false,
2026-06-06T06:01:02.2945493Z           "evidence": []
2026-06-06T06:01:02.2946647Z         },
2026-06-06T06:01:02.2947630Z         "unit": {
2026-06-06T06:01:02.2948725Z           "complete": true,
2026-06-06T06:01:02.2950283Z           "evidence": [
2026-06-06T06:01:02.2951405Z             {
2026-06-06T06:01:02.2952622Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:01:02.2954225Z               "line": 245
2026-06-06T06:01:02.2955418Z             },
2026-06-06T06:01:02.2956425Z             {
2026-06-06T06:01:02.2957642Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:01:02.2959287Z               "line": 255
2026-06-06T06:01:02.2960457Z             },
2026-06-06T06:01:02.2961449Z             {
2026-06-06T06:01:02.2962664Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:01:02.2964271Z               "line": 266
2026-06-06T06:01:02.2965464Z             },
2026-06-06T06:01:02.2966475Z             {
2026-06-06T06:01:02.2967696Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:01:02.2969325Z               "line": 277
2026-06-06T06:01:02.2970509Z             },
2026-06-06T06:01:02.2971521Z             {
2026-06-06T06:01:02.2972744Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:01:02.2974380Z               "line": 289
2026-06-06T06:01:02.2975554Z             },
2026-06-06T06:01:02.2976578Z             {
2026-06-06T06:01:02.2977800Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:01:02.2979420Z               "line": 302
2026-06-06T06:01:02.2980612Z             },
2026-06-06T06:01:02.2981631Z             {
2026-06-06T06:01:02.2982862Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:01:02.2984451Z               "line": 313
2026-06-06T06:01:02.2985608Z             },
2026-06-06T06:01:02.2986631Z             {
2026-06-06T06:01:02.2987827Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:01:02.2989454Z               "line": 327
2026-06-06T06:01:02.2990614Z             },
2026-06-06T06:01:02.2991618Z             {
2026-06-06T06:01:02.2992816Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:01:02.2994392Z               "line": 355
2026-06-06T06:01:02.2995611Z             }
2026-06-06T06:01:02.2996651Z           ]
2026-06-06T06:01:02.2997614Z         }
2026-06-06T06:01:02.2998557Z       }
2026-06-06T06:01:02.2999533Z     },
2026-06-06T06:01:02.3000483Z     {
2026-06-06T06:01:02.3001492Z       "id": "REQ-CONSENT-1",
2026-06-06T06:01:02.3008786Z       "title": "Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)",
2026-06-06T06:01:02.3016281Z       "requiredStages": [
2026-06-06T06:01:02.3017489Z         "impl",
2026-06-06T06:01:02.3018523Z         "unit"
2026-06-06T06:01:02.3019563Z       ],
2026-06-06T06:01:02.3020530Z       "stages": {
2026-06-06T06:01:02.3021578Z         "doc": {
2026-06-06T06:01:02.3022674Z           "complete": false,
2026-06-06T06:01:02.3023942Z           "evidence": []
2026-06-06T06:01:02.3025119Z         },
2026-06-06T06:01:02.3026098Z         "impl": {
2026-06-06T06:01:02.3027197Z           "complete": true,
2026-06-06T06:01:02.3028428Z           "evidence": [
2026-06-06T06:01:02.3029581Z             {
2026-06-06T06:01:02.3030831Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:01:02.3032443Z               "line": 27
2026-06-06T06:01:02.3033950Z             },
2026-06-06T06:01:02.3034978Z             {
2026-06-06T06:01:02.3036220Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:01:02.3037831Z               "line": 75
2026-06-06T06:01:02.3038969Z             },
2026-06-06T06:01:02.3040020Z             {
2026-06-06T06:01:02.3041263Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:01:02.3042860Z               "line": 98
2026-06-06T06:01:02.3044008Z             },
2026-06-06T06:01:02.3045039Z             {
2026-06-06T06:01:02.3046247Z               "path": "crates/spt-store/src/grants.rs",
2026-06-06T06:01:02.3047974Z               "line": 82
2026-06-06T06:01:02.3049130Z             },
2026-06-06T06:01:02.3050182Z             {
2026-06-06T06:01:02.3051403Z               "path": "crates/spt-store/src/grants.rs",
2026-06-06T06:01:02.3052991Z               "line": 109
2026-06-06T06:01:02.3054148Z             },
2026-06-06T06:01:02.3055157Z             {
2026-06-06T06:01:02.3056376Z               "path": "crates/spt-store/src/grants.rs",
2026-06-06T06:01:02.3057980Z               "line": 127
2026-06-06T06:01:02.3060724Z             },
2026-06-06T06:01:02.3061797Z             {
2026-06-06T06:01:02.3063024Z               "path": "crates/spt-store/src/grants.rs",
2026-06-06T06:01:02.3064611Z               "line": 142
2026-06-06T06:01:02.3065766Z             },
2026-06-06T06:01:02.3066766Z             {
2026-06-06T06:01:02.3076627Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.3078416Z               "line": 3173
2026-06-06T06:01:02.3079724Z             }
2026-06-06T06:01:02.3080746Z           ]
2026-06-06T06:01:02.3081758Z         },
2026-06-06T06:01:02.3082710Z         "int": {
2026-06-06T06:01:02.3083778Z           "complete": false,
2026-06-06T06:01:02.3085019Z           "evidence": []
2026-06-06T06:01:02.3086167Z         },
2026-06-06T06:01:02.3087140Z         "unit": {
2026-06-06T06:01:02.3088210Z           "complete": true,
2026-06-06T06:01:02.3089461Z           "evidence": [
2026-06-06T06:01:02.3090595Z             {
2026-06-06T06:01:02.3091809Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:01:02.3093413Z               "line": 318
2026-06-06T06:01:02.3094553Z             },
2026-06-06T06:01:02.3095549Z             {
2026-06-06T06:01:02.3096770Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:01:02.3098380Z               "line": 343
2026-06-06T06:01:02.3099562Z             },
2026-06-06T06:01:02.3100562Z             {
2026-06-06T06:01:02.3101797Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:01:02.3103409Z               "line": 354
2026-06-06T06:01:02.3104573Z             },
2026-06-06T06:01:02.3105570Z             {
2026-06-06T06:01:02.3106785Z               "path": "crates/spt-store/src/grants.rs",
2026-06-06T06:01:02.3108379Z               "line": 165
2026-06-06T06:01:02.3109564Z             },
2026-06-06T06:01:02.3110561Z             {
2026-06-06T06:01:02.3111767Z               "path": "crates/spt-store/src/grants.rs",
2026-06-06T06:01:02.3113361Z               "line": 184
2026-06-06T06:01:02.3114501Z             },
2026-06-06T06:01:02.3115489Z             {
2026-06-06T06:01:02.3116679Z               "path": "crates/spt-store/src/grants.rs",
2026-06-06T06:01:02.3118271Z               "line": 204
2026-06-06T06:01:02.3119657Z             },
2026-06-06T06:01:02.3121011Z             {
2026-06-06T06:01:02.3122160Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.3123667Z               "line": 3510
2026-06-06T06:01:02.3124823Z             }
2026-06-06T06:01:02.3125794Z           ]
2026-06-06T06:01:02.3126738Z         }
2026-06-06T06:01:02.3127693Z       }
2026-06-06T06:01:02.3128623Z     },
2026-06-06T06:01:02.3129725Z     {
2026-06-06T06:01:02.3130722Z       "id": "REQ-CONSENT-2",
2026-06-06T06:01:02.3137411Z       "title": "Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)",
2026-06-06T06:01:02.3144640Z       "requiredStages": [
2026-06-06T06:01:02.3145828Z         "impl",
2026-06-06T06:01:02.3146839Z         "unit"
2026-06-06T06:01:02.3147835Z       ],
2026-06-06T06:01:02.3148781Z       "stages": {
2026-06-06T06:01:02.3149850Z         "doc": {
2026-06-06T06:01:02.3150931Z           "complete": false,
2026-06-06T06:01:02.3152170Z           "evidence": []
2026-06-06T06:01:02.3153302Z         },
2026-06-06T06:01:02.3154265Z         "impl": {
2026-06-06T06:01:02.3155506Z           "complete": true,
2026-06-06T06:01:02.3156711Z           "evidence": [
2026-06-06T06:01:02.3157835Z             {
2026-06-06T06:01:02.3159058Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:01:02.3160687Z               "line": 140
2026-06-06T06:01:02.3161815Z             },
2026-06-06T06:01:02.3162805Z             {
2026-06-06T06:01:02.3164042Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:01:02.3165636Z               "line": 158
2026-06-06T06:01:02.3166781Z             },
2026-06-06T06:01:02.3167779Z             {
2026-06-06T06:01:02.3169012Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:01:02.3170648Z               "line": 192
2026-06-06T06:01:02.3171790Z             },
2026-06-06T06:01:02.3172788Z             {
2026-06-06T06:01:02.3174020Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:01:02.3175614Z               "line": 234
2026-06-06T06:01:02.3176761Z             },
2026-06-06T06:01:02.3177768Z             {
2026-06-06T06:01:02.3178991Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:01:02.3180621Z               "line": 262
2026-06-06T06:01:02.3181758Z             },
2026-06-06T06:01:02.3182745Z             {
2026-06-06T06:01:02.3183965Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:01:02.3185568Z               "line": 293
2026-06-06T06:01:02.3209070Z             },
2026-06-06T06:01:02.3210848Z             {
2026-06-06T06:01:02.3212012Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.3213522Z               "line": 3066
2026-06-06T06:01:02.3214678Z             },
2026-06-06T06:01:02.3215665Z             {
2026-06-06T06:01:02.3216774Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.3218257Z               "line": 3106
2026-06-06T06:01:02.3219455Z             }
2026-06-06T06:01:02.3220439Z           ]
2026-06-06T06:01:02.3221384Z         },
2026-06-06T06:01:02.3222350Z         "int": {
2026-06-06T06:01:02.3223487Z           "complete": false,
2026-06-06T06:01:02.3224727Z           "evidence": []
2026-06-06T06:01:02.3225862Z         },
2026-06-06T06:01:02.3226817Z         "unit": {
2026-06-06T06:01:02.3227889Z           "complete": true,
2026-06-06T06:01:02.3229097Z           "evidence": [
2026-06-06T06:01:02.3230235Z             {
2026-06-06T06:01:02.3231474Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:01:02.3233085Z               "line": 382
2026-06-06T06:01:02.3234225Z             },
2026-06-06T06:01:02.3235214Z             {
2026-06-06T06:01:02.3236436Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:01:02.3238035Z               "line": 396
2026-06-06T06:01:02.3239210Z             },
2026-06-06T06:01:02.3240215Z             {
2026-06-06T06:01:02.3241443Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:01:02.3243062Z               "line": 432
2026-06-06T06:01:02.3244208Z             },
2026-06-06T06:01:02.3245200Z             {
2026-06-06T06:01:02.3246434Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:01:02.3248039Z               "line": 464
2026-06-06T06:01:02.3249329Z             },
2026-06-06T06:01:02.3250330Z             {
2026-06-06T06:01:02.3251459Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.3252963Z               "line": 4181
2026-06-06T06:01:02.3254123Z             },
2026-06-06T06:01:02.3255538Z             {
2026-06-06T06:01:02.3256661Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.3258147Z               "line": 4241
2026-06-06T06:01:02.3259327Z             }
2026-06-06T06:01:02.3260309Z           ]
2026-06-06T06:01:02.3261264Z         }
2026-06-06T06:01:02.3262208Z       }
2026-06-06T06:01:02.3263122Z     },
2026-06-06T06:01:02.3264041Z     {
2026-06-06T06:01:02.3265019Z       "id": "REQ-DAEMON-1",
2026-06-06T06:01:02.3266751Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-06T06:01:02.3268735Z       "requiredStages": [
2026-06-06T06:01:02.3270133Z         "impl",
2026-06-06T06:01:02.3271150Z         "unit",
2026-06-06T06:01:02.3272157Z         "int"
2026-06-06T06:01:02.3273146Z       ],
2026-06-06T06:01:02.3274096Z       "stages": {
2026-06-06T06:01:02.3275127Z         "doc": {
2026-06-06T06:01:02.3276193Z           "complete": false,
2026-06-06T06:01:02.3277447Z           "evidence": []
2026-06-06T06:01:02.3278598Z         },
2026-06-06T06:01:02.3279607Z         "impl": {
2026-06-06T06:01:02.3280681Z           "complete": true,
2026-06-06T06:01:02.3281890Z           "evidence": [
2026-06-06T06:01:02.3282995Z             {
2026-06-06T06:01:02.3284220Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:01:02.3285806Z               "line": 12
2026-06-06T06:01:02.3286936Z             },
2026-06-06T06:01:02.3287928Z             {
2026-06-06T06:01:02.3289213Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.3291135Z               "line": 16
2026-06-06T06:01:02.3292274Z             },
2026-06-06T06:01:02.3293293Z             {
2026-06-06T06:01:02.3294495Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-06T06:01:02.3296072Z               "line": 15
2026-06-06T06:01:02.3297203Z             },
2026-06-06T06:01:02.3298202Z             {
2026-06-06T06:01:02.3299571Z               "path": "crates/spt/src/api/live.rs",
2026-06-06T06:01:02.3301292Z               "line": 13
2026-06-06T06:01:02.3302431Z             }
2026-06-06T06:01:02.3303404Z           ]
2026-06-06T06:01:02.3304356Z         },
2026-06-06T06:01:02.3305304Z         "int": {
2026-06-06T06:01:02.3306376Z           "complete": true,
2026-06-06T06:01:02.3312399Z           "evidence": [
2026-06-06T06:01:02.3313646Z             {
2026-06-06T06:01:02.3314945Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-06T06:01:02.3316597Z               "line": 32
2026-06-06T06:01:02.3317708Z             }
2026-06-06T06:01:02.3318702Z           ]
2026-06-06T06:01:02.3319712Z         },
2026-06-06T06:01:02.3320671Z         "unit": {
2026-06-06T06:01:02.3321792Z           "complete": true,
2026-06-06T06:01:02.3323009Z           "evidence": [
2026-06-06T06:01:02.3324110Z             {
2026-06-06T06:01:02.3325320Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:01:02.3326903Z               "line": 254
2026-06-06T06:01:02.3328031Z             },
2026-06-06T06:01:02.3329021Z             {
2026-06-06T06:01:02.3330295Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:01:02.3331884Z               "line": 262
2026-06-06T06:01:02.3333021Z             },
2026-06-06T06:01:02.3334003Z             {
2026-06-06T06:01:02.3335216Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:01:02.3336804Z               "line": 275
2026-06-06T06:01:02.3337931Z             },
2026-06-06T06:01:02.3338928Z             {
2026-06-06T06:01:02.3340181Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:01:02.3341778Z               "line": 283
2026-06-06T06:01:02.3342931Z             },
2026-06-06T06:01:02.3343939Z             {
2026-06-06T06:01:02.3345178Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.3346809Z               "line": 536
2026-06-06T06:01:02.3347976Z             },
2026-06-06T06:01:02.3348982Z             {
2026-06-06T06:01:02.3350267Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.3352191Z               "line": 595
2026-06-06T06:01:02.3353329Z             },
2026-06-06T06:01:02.3354316Z             {
2026-06-06T06:01:02.3355520Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-06T06:01:02.3357088Z               "line": 100
2026-06-06T06:01:02.3358213Z             },
2026-06-06T06:01:02.3359236Z             {
2026-06-06T06:01:02.3360493Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-06T06:01:02.3362098Z               "line": 125
2026-06-06T06:01:02.3363238Z             }
2026-06-06T06:01:02.3364204Z           ]
2026-06-06T06:01:02.3365150Z         }
2026-06-06T06:01:02.3366298Z       }
2026-06-06T06:01:02.3367220Z     },
2026-06-06T06:01:02.3368137Z     {
2026-06-06T06:01:02.3369121Z       "id": "REQ-DAEMON-2",
2026-06-06T06:01:02.3371023Z       "title": "Broker/brain split for seamless self-update",
2026-06-06T06:01:02.3372771Z       "requiredStages": [
2026-06-06T06:01:02.3373944Z         "impl",
2026-06-06T06:01:02.3374956Z         "unit",
2026-06-06T06:01:02.3375985Z         "int"
2026-06-06T06:01:02.3376960Z       ],
2026-06-06T06:01:02.3377905Z       "stages": {
2026-06-06T06:01:02.3378936Z         "doc": {
2026-06-06T06:01:02.3380419Z           "complete": false,
2026-06-06T06:01:02.3381658Z           "evidence": []
2026-06-06T06:01:02.3382778Z         },
2026-06-06T06:01:02.3383728Z         "impl": {
2026-06-06T06:01:02.3384811Z           "complete": true,
2026-06-06T06:01:02.3386010Z           "evidence": [
2026-06-06T06:01:02.3387096Z             {
2026-06-06T06:01:02.3388291Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:01:02.3390252Z               "line": 23
2026-06-06T06:01:02.3391382Z             },
2026-06-06T06:01:02.3392376Z             {
2026-06-06T06:01:02.3393567Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:01:02.3395123Z               "line": 497
2026-06-06T06:01:02.3396256Z             },
2026-06-06T06:01:02.3397250Z             {
2026-06-06T06:01:02.3398422Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:01:02.3400379Z               "line": 650
2026-06-06T06:01:02.3401533Z             },
2026-06-06T06:01:02.3402519Z             {
2026-06-06T06:01:02.3403753Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:01:02.3405395Z               "line": 32
2026-06-06T06:01:02.3406530Z             },
2026-06-06T06:01:02.3407519Z             {
2026-06-06T06:01:02.3408718Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:01:02.3410365Z               "line": 191
2026-06-06T06:01:02.3411509Z             },
2026-06-06T06:01:02.3416283Z             {
2026-06-06T06:01:02.3417623Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:01:02.3419309Z               "line": 524
2026-06-06T06:01:02.3420449Z             },
2026-06-06T06:01:02.3421439Z             {
2026-06-06T06:01:02.3422647Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:01:02.3424230Z               "line": 751
2026-06-06T06:01:02.3425377Z             },
2026-06-06T06:01:02.3426376Z             {
2026-06-06T06:01:02.3427561Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-06T06:01:02.3429112Z               "line": 11
2026-06-06T06:01:02.3430272Z             },
2026-06-06T06:01:02.3431260Z             {
2026-06-06T06:01:02.3432469Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-06T06:01:02.3434045Z               "line": 69
2026-06-06T06:01:02.3435165Z             },
2026-06-06T06:01:02.3436164Z             {
2026-06-06T06:01:02.3437321Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:01:02.3438844Z               "line": 13
2026-06-06T06:01:02.3440025Z             },
2026-06-06T06:01:02.3441015Z             {
2026-06-06T06:01:02.3442221Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:01:02.3443801Z               "line": 27
2026-06-06T06:01:02.3444916Z             },
2026-06-06T06:01:02.3445902Z             {
2026-06-06T06:01:02.3447121Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:01:02.3448999Z               "line": 94
2026-06-06T06:01:02.3450526Z             },
2026-06-06T06:01:02.3451513Z             {
2026-06-06T06:01:02.3452716Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:01:02.3454303Z               "line": 400
2026-06-06T06:01:02.3455445Z             },
2026-06-06T06:01:02.3456423Z             {
2026-06-06T06:01:02.3457654Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:01:02.3459285Z               "line": 513
2026-06-06T06:01:02.3460424Z             },
2026-06-06T06:01:02.3461396Z             {
2026-06-06T06:01:02.3462785Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:01:02.3464379Z               "line": 547
2026-06-06T06:01:02.3465502Z             },
2026-06-06T06:01:02.3466492Z             {
2026-06-06T06:01:02.3467705Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:01:02.3469339Z               "line": 589
2026-06-06T06:01:02.3470492Z             },
2026-06-06T06:01:02.3471473Z             {
2026-06-06T06:01:02.3472695Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:01:02.3474279Z               "line": 634
2026-06-06T06:01:02.3475409Z             },
2026-06-06T06:01:02.3476389Z             {
2026-06-06T06:01:02.3477634Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-06T06:01:02.3479275Z               "line": 10
2026-06-06T06:01:02.3480381Z             }
2026-06-06T06:01:02.3481349Z           ]
2026-06-06T06:01:02.3482282Z         },
2026-06-06T06:01:02.3483224Z         "int": {
2026-06-06T06:01:02.3484291Z           "complete": true,
2026-06-06T06:01:02.3485490Z           "evidence": [
2026-06-06T06:01:02.3486593Z             {
2026-06-06T06:01:02.3487817Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-06T06:01:02.3489431Z               "line": 17
2026-06-06T06:01:02.3490538Z             },
2026-06-06T06:01:02.3491516Z             {
2026-06-06T06:01:02.3492777Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-06T06:01:02.3494423Z               "line": 33
2026-06-06T06:01:02.3495527Z             },
2026-06-06T06:01:02.3496502Z             {
2026-06-06T06:01:02.3497730Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-06T06:01:02.3499347Z               "line": 19
2026-06-06T06:01:02.3500456Z             },
2026-06-06T06:01:02.3501448Z             {
2026-06-06T06:01:02.3502707Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-06T06:01:02.3504333Z               "line": 70
2026-06-06T06:01:02.3505437Z             },
2026-06-06T06:01:02.3506436Z             {
2026-06-06T06:01:02.3507703Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-06T06:01:02.3509374Z               "line": 90
2026-06-06T06:01:02.3510483Z             },
2026-06-06T06:01:02.3511472Z             {
2026-06-06T06:01:02.3512722Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-06T06:01:02.3514350Z               "line": 160
2026-06-06T06:01:02.3515493Z             },
2026-06-06T06:01:02.3516473Z             {
2026-06-06T06:01:02.3521448Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-06T06:01:02.3523160Z               "line": 196
2026-06-06T06:01:02.3524287Z             },
2026-06-06T06:01:02.3525270Z             {
2026-06-06T06:01:02.3526523Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-06T06:01:02.3528145Z               "line": 121
2026-06-06T06:01:02.3529320Z             }
2026-06-06T06:01:02.3530295Z           ]
2026-06-06T06:01:02.3531235Z         },
2026-06-06T06:01:02.3532182Z         "unit": {
2026-06-06T06:01:02.3533272Z           "complete": true,
2026-06-06T06:01:02.3534456Z           "evidence": [
2026-06-06T06:01:02.3535547Z             {
2026-06-06T06:01:02.3536715Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-06T06:01:02.3538259Z               "line": 62
2026-06-06T06:01:02.3539400Z             },
2026-06-06T06:01:02.3540380Z             {
2026-06-06T06:01:02.3541815Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-06T06:01:02.3543372Z               "line": 76
2026-06-06T06:01:02.3544482Z             },
2026-06-06T06:01:02.3545465Z             {
2026-06-06T06:01:02.3546642Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-06T06:01:02.3548184Z               "line": 88
2026-06-06T06:01:02.3549540Z             },
2026-06-06T06:01:02.3550834Z             {
2026-06-06T06:01:02.3552105Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-06T06:01:02.3553691Z               "line": 264
2026-06-06T06:01:02.3554812Z             },
2026-06-06T06:01:02.3556007Z             {
2026-06-06T06:01:02.3557169Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:01:02.3558707Z               "line": 551
2026-06-06T06:01:02.3560192Z             },
2026-06-06T06:01:02.3561171Z             {
2026-06-06T06:01:02.3562329Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:01:02.3563865Z               "line": 559
2026-06-06T06:01:02.3565018Z             },
2026-06-06T06:01:02.3565992Z             {
2026-06-06T06:01:02.3567156Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:01:02.3568682Z               "line": 576
2026-06-06T06:01:02.3569855Z             },
2026-06-06T06:01:02.3570838Z             {
2026-06-06T06:01:02.3571992Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:01:02.3573517Z               "line": 621
2026-06-06T06:01:02.3574655Z             },
2026-06-06T06:01:02.3575635Z             {
2026-06-06T06:01:02.3576834Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:01:02.3578419Z               "line": 701
2026-06-06T06:01:02.3579595Z             },
2026-06-06T06:01:02.3580573Z             {
2026-06-06T06:01:02.3581777Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:01:02.3583346Z               "line": 713
2026-06-06T06:01:02.3584483Z             },
2026-06-06T06:01:02.3585460Z             {
2026-06-06T06:01:02.3586703Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-06T06:01:02.3588311Z               "line": 112
2026-06-06T06:01:02.3589462Z             }
2026-06-06T06:01:02.3590425Z           ]
2026-06-06T06:01:02.3591360Z         }
2026-06-06T06:01:02.3592273Z       }
2026-06-06T06:01:02.3593177Z     },
2026-06-06T06:01:02.3594100Z     {
2026-06-06T06:01:02.3595070Z       "id": "REQ-DAEMON-3",
2026-06-06T06:01:02.3596672Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-06T06:01:02.3598520Z       "requiredStages": [
2026-06-06T06:01:02.3599903Z         "impl",
2026-06-06T06:01:02.3601068Z         "unit",
2026-06-06T06:01:02.3602060Z         "int"
2026-06-06T06:01:02.3603019Z       ],
2026-06-06T06:01:02.3603966Z       "stages": {
2026-06-06T06:01:02.3604991Z         "doc": {
2026-06-06T06:01:02.3606045Z           "complete": false,
2026-06-06T06:01:02.3607262Z           "evidence": []
2026-06-06T06:01:02.3608379Z         },
2026-06-06T06:01:02.3609400Z         "impl": {
2026-06-06T06:01:02.3610477Z           "complete": true,
2026-06-06T06:01:02.3611668Z           "evidence": [
2026-06-06T06:01:02.3612756Z             {
2026-06-06T06:01:02.3613966Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-06T06:01:02.3615519Z               "line": 14
2026-06-06T06:01:02.3616622Z             },
2026-06-06T06:01:02.3617602Z             {
2026-06-06T06:01:02.3622500Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-06T06:01:02.3624250Z               "line": 11
2026-06-06T06:01:02.3625369Z             },
2026-06-06T06:01:02.3626345Z             {
2026-06-06T06:01:02.3627531Z               "path": "crates/spt/src/api/mod.rs",
2026-06-06T06:01:02.3629034Z               "line": 247
2026-06-06T06:01:02.3630582Z             },
2026-06-06T06:01:02.3631572Z             {
2026-06-06T06:01:02.3632679Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.3634138Z               "line": 1026
2026-06-06T06:01:02.3635261Z             }
2026-06-06T06:01:02.3636530Z           ]
2026-06-06T06:01:02.3637469Z         },
2026-06-06T06:01:02.3638414Z         "int": {
2026-06-06T06:01:02.3639564Z           "complete": true,
2026-06-06T06:01:02.3640777Z           "evidence": [
2026-06-06T06:01:02.3641876Z             {
2026-06-06T06:01:02.3643080Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:01:02.3644643Z               "line": 43
2026-06-06T06:01:02.3645756Z             },
2026-06-06T06:01:02.3646750Z             {
2026-06-06T06:01:02.3647957Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:01:02.3649569Z               "line": 320
2026-06-06T06:01:02.3650874Z             }
2026-06-06T06:01:02.3651847Z           ]
2026-06-06T06:01:02.3652778Z         },
2026-06-06T06:01:02.3653715Z         "unit": {
2026-06-06T06:01:02.3654773Z           "complete": true,
2026-06-06T06:01:02.3655957Z           "evidence": [
2026-06-06T06:01:02.3657037Z             {
2026-06-06T06:01:02.3658237Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-06T06:01:02.3659853Z               "line": 400
2026-06-06T06:01:02.3660974Z             }
2026-06-06T06:01:02.3661943Z           ]
2026-06-06T06:01:02.3662877Z         }
2026-06-06T06:01:02.3663794Z       }
2026-06-06T06:01:02.3664706Z     },
2026-06-06T06:01:02.3665616Z     {
2026-06-06T06:01:02.3666579Z       "id": "REQ-DAEMON-4",
2026-06-06T06:01:02.3667983Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-06T06:01:02.3669618Z       "requiredStages": [
2026-06-06T06:01:02.3670770Z         "impl",
2026-06-06T06:01:02.3671772Z         "unit",
2026-06-06T06:01:02.3672777Z         "int"
2026-06-06T06:01:02.3673747Z       ],
2026-06-06T06:01:02.3674687Z       "stages": {
2026-06-06T06:01:02.3675703Z         "doc": {
2026-06-06T06:01:02.3676761Z           "complete": false,
2026-06-06T06:01:02.3677991Z           "evidence": []
2026-06-06T06:01:02.3679099Z         },
2026-06-06T06:01:02.3680091Z         "impl": {
2026-06-06T06:01:02.3681159Z           "complete": true,
2026-06-06T06:01:02.3682365Z           "evidence": [
2026-06-06T06:01:02.3683468Z             {
2026-06-06T06:01:02.3684757Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.3686360Z               "line": 347
2026-06-06T06:01:02.3687487Z             },
2026-06-06T06:01:02.3688464Z             {
2026-06-06T06:01:02.3689712Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.3691291Z               "line": 409
2026-06-06T06:01:02.3692409Z             },
2026-06-06T06:01:02.3693376Z             {
2026-06-06T06:01:02.3694592Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.3696192Z               "line": 431
2026-06-06T06:01:02.3697314Z             }
2026-06-06T06:01:02.3698274Z           ]
2026-06-06T06:01:02.3699225Z         },
2026-06-06T06:01:02.3700166Z         "int": {
2026-06-06T06:01:02.3701215Z           "complete": true,
2026-06-06T06:01:02.3702403Z           "evidence": [
2026-06-06T06:01:02.3703503Z             {
2026-06-06T06:01:02.3704748Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-06T06:01:02.3706365Z               "line": 34
2026-06-06T06:01:02.3707483Z             }
2026-06-06T06:01:02.3708452Z           ]
2026-06-06T06:01:02.3709423Z         },
2026-06-06T06:01:02.3710366Z         "unit": {
2026-06-06T06:01:02.3711427Z           "complete": true,
2026-06-06T06:01:02.3712603Z           "evidence": [
2026-06-06T06:01:02.3713686Z             {
2026-06-06T06:01:02.3714876Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:01:02.3720038Z               "line": 353
2026-06-06T06:01:02.3721379Z             },
2026-06-06T06:01:02.3722361Z             {
2026-06-06T06:01:02.3723575Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.3725156Z               "line": 725
2026-06-06T06:01:02.3726275Z             },
2026-06-06T06:01:02.3727249Z             {
2026-06-06T06:01:02.3728454Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.3730349Z               "line": 776
2026-06-06T06:01:02.3731491Z             },
2026-06-06T06:01:02.3732459Z             {
2026-06-06T06:01:02.3733669Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.3735262Z               "line": 800
2026-06-06T06:01:02.3736377Z             },
2026-06-06T06:01:02.3737348Z             {
2026-06-06T06:01:02.3738560Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.3740176Z               "line": 830
2026-06-06T06:01:02.3741298Z             }
2026-06-06T06:01:02.3742255Z           ]
2026-06-06T06:01:02.3743416Z         }
2026-06-06T06:01:02.3744337Z       }
2026-06-06T06:01:02.3745243Z     },
2026-06-06T06:01:02.3746145Z     {
2026-06-06T06:01:02.3747102Z       "id": "REQ-DOCS-1",
2026-06-06T06:01:02.3748946Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-06T06:01:02.3751145Z       "requiredStages": [
2026-06-06T06:01:02.3752299Z         "doc",
2026-06-06T06:01:02.3753300Z         "impl"
2026-06-06T06:01:02.3754286Z       ],
2026-06-06T06:01:02.3755226Z       "stages": {
2026-06-06T06:01:02.3756245Z         "doc": {
2026-06-06T06:01:02.3757294Z           "complete": true,
2026-06-06T06:01:02.3758480Z           "evidence": [
2026-06-06T06:01:02.3759882Z             {
2026-06-06T06:01:02.3761039Z               "path": "docs-site/src/index.md",
2026-06-06T06:01:02.3762507Z               "line": 50
2026-06-06T06:01:02.3763611Z             }
2026-06-06T06:01:02.3764021Z           ]
2026-06-06T06:01:02.3764429Z         },
2026-06-06T06:01:02.3764846Z         "impl": {
2026-06-06T06:01:02.3765336Z           "complete": true,
2026-06-06T06:01:02.3765779Z           "evidence": [
2026-06-06T06:01:02.3766182Z             {
2026-06-06T06:01:02.3766849Z               "path": ".github/workflows/docs-publish.yml",
2026-06-06T06:01:02.3767279Z               "line": 12
2026-06-06T06:01:02.3767692Z             },
2026-06-06T06:01:02.3768091Z             {
2026-06-06T06:01:02.3768678Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:01:02.3769117Z               "line": 14
2026-06-06T06:01:02.3769579Z             }
2026-06-06T06:01:02.3770000Z           ]
2026-06-06T06:01:02.3770402Z         },
2026-06-06T06:01:02.3770826Z         "int": {
2026-06-06T06:01:02.3771287Z           "complete": false,
2026-06-06T06:01:02.3771742Z           "evidence": []
2026-06-06T06:01:02.3772152Z         },
2026-06-06T06:01:02.3772562Z         "unit": {
2026-06-06T06:01:02.3773031Z           "complete": false,
2026-06-06T06:01:02.3773477Z           "evidence": []
2026-06-06T06:01:02.3773902Z         }
2026-06-06T06:01:02.3774304Z       }
2026-06-06T06:01:02.3774706Z     },
2026-06-06T06:01:02.3775112Z     {
2026-06-06T06:01:02.3775573Z       "id": "REQ-DOCS-2",
2026-06-06T06:01:02.3777315Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-06T06:01:02.3778062Z       "requiredStages": [
2026-06-06T06:01:02.3778601Z         "doc",
2026-06-06T06:01:02.3779216Z         "int"
2026-06-06T06:01:02.3779866Z       ],
2026-06-06T06:01:02.3780319Z       "stages": {
2026-06-06T06:01:02.3780739Z         "doc": {
2026-06-06T06:01:02.3781210Z           "complete": true,
2026-06-06T06:01:02.3781648Z           "evidence": [
2026-06-06T06:01:02.3782059Z             {
2026-06-06T06:01:02.3782766Z               "path": "docs-site/src/quickstart/adapter.md",
2026-06-06T06:01:02.3783209Z               "line": 3
2026-06-06T06:01:02.3783627Z             },
2026-06-06T06:01:02.3784034Z             {
2026-06-06T06:01:02.3784741Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-06T06:01:02.3785198Z               "line": 3
2026-06-06T06:01:02.3785608Z             }
2026-06-06T06:01:02.3786012Z           ]
2026-06-06T06:01:02.3786430Z         },
2026-06-06T06:01:02.3786855Z         "impl": {
2026-06-06T06:01:02.3787316Z           "complete": false,
2026-06-06T06:01:02.3787772Z           "evidence": []
2026-06-06T06:01:02.3788170Z         },
2026-06-06T06:01:02.3788851Z         "int": {
2026-06-06T06:01:02.3789379Z           "complete": true,
2026-06-06T06:01:02.3789841Z           "evidence": [
2026-06-06T06:01:02.3790256Z             {
2026-06-06T06:01:02.3790912Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-06T06:01:02.3791366Z               "line": 14
2026-06-06T06:01:02.3791770Z             }
2026-06-06T06:01:02.3792192Z           ]
2026-06-06T06:01:02.3792600Z         },
2026-06-06T06:01:02.3793025Z         "unit": {
2026-06-06T06:01:02.3793497Z           "complete": false,
2026-06-06T06:01:02.3793947Z           "evidence": []
2026-06-06T06:01:02.3794516Z         }
2026-06-06T06:01:02.3794923Z       }
2026-06-06T06:01:02.3795335Z     },
2026-06-06T06:01:02.3795773Z     {
2026-06-06T06:01:02.3796248Z       "id": "REQ-DOCS-3",
2026-06-06T06:01:02.3797454Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-06T06:01:02.3797945Z       "requiredStages": [
2026-06-06T06:01:02.3798364Z         "doc"
2026-06-06T06:01:02.3798796Z       ],
2026-06-06T06:01:02.3799286Z       "stages": {
2026-06-06T06:01:02.3799703Z         "doc": {
2026-06-06T06:01:02.3800176Z           "complete": true,
2026-06-06T06:01:02.3800630Z           "evidence": [
2026-06-06T06:01:02.3801040Z             {
2026-06-06T06:01:02.3801611Z               "path": "docs-site/src/index.md",
2026-06-06T06:01:02.3802055Z               "line": 42
2026-06-06T06:01:02.3802472Z             }
2026-06-06T06:01:02.3802890Z           ]
2026-06-06T06:01:02.3803309Z         },
2026-06-06T06:01:02.3803741Z         "impl": {
2026-06-06T06:01:02.3804216Z           "complete": false,
2026-06-06T06:01:02.3804711Z           "evidence": []
2026-06-06T06:01:02.3805118Z         },
2026-06-06T06:01:02.3805544Z         "int": {
2026-06-06T06:01:02.3806009Z           "complete": false,
2026-06-06T06:01:02.3806464Z           "evidence": []
2026-06-06T06:01:02.3806879Z         },
2026-06-06T06:01:02.3807294Z         "unit": {
2026-06-06T06:01:02.3812280Z           "complete": false,
2026-06-06T06:01:02.3812966Z           "evidence": []
2026-06-06T06:01:02.3813387Z         }
2026-06-06T06:01:02.3813791Z       }
2026-06-06T06:01:02.3814200Z     },
2026-06-06T06:01:02.3814605Z     {
2026-06-06T06:01:02.3815056Z       "id": "REQ-DOCS-4",
2026-06-06T06:01:02.3816205Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-06T06:01:02.3816679Z       "requiredStages": [
2026-06-06T06:01:02.3817102Z         "doc",
2026-06-06T06:01:02.3817520Z         "impl",
2026-06-06T06:01:02.3817947Z         "unit"
2026-06-06T06:01:02.3818357Z       ],
2026-06-06T06:01:02.3818778Z       "stages": {
2026-06-06T06:01:02.3819338Z         "doc": {
2026-06-06T06:01:02.3819812Z           "complete": true,
2026-06-06T06:01:02.3820270Z           "evidence": [
2026-06-06T06:01:02.3820674Z             {
2026-06-06T06:01:02.3821239Z               "path": "docs/DOCS-STRATEGY.md",
2026-06-06T06:01:02.3821688Z               "line": 35
2026-06-06T06:01:02.3822097Z             }
2026-06-06T06:01:02.3822525Z           ]
2026-06-06T06:01:02.3822928Z         },
2026-06-06T06:01:02.3823357Z         "impl": {
2026-06-06T06:01:02.3823818Z           "complete": true,
2026-06-06T06:01:02.3824276Z           "evidence": [
2026-06-06T06:01:02.3824696Z             {
2026-06-06T06:01:02.3825356Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.3825818Z               "line": 522
2026-06-06T06:01:02.3826226Z             },
2026-06-06T06:01:02.3826635Z             {
2026-06-06T06:01:02.3827190Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:01:02.3827643Z               "line": 15
2026-06-06T06:01:02.3828074Z             }
2026-06-06T06:01:02.3828479Z           ]
2026-06-06T06:01:02.3828892Z         },
2026-06-06T06:01:02.3829359Z         "int": {
2026-06-06T06:01:02.3829848Z           "complete": false,
2026-06-06T06:01:02.3830300Z           "evidence": []
2026-06-06T06:01:02.3830716Z         },
2026-06-06T06:01:02.3831151Z         "unit": {
2026-06-06T06:01:02.3831879Z           "complete": true,
2026-06-06T06:01:02.3832336Z           "evidence": [
2026-06-06T06:01:02.3832743Z             {
2026-06-06T06:01:02.3833417Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.3833873Z               "line": 957
2026-06-06T06:01:02.3834293Z             }
2026-06-06T06:01:02.3834711Z           ]
2026-06-06T06:01:02.3835120Z         }
2026-06-06T06:01:02.3835535Z       }
2026-06-06T06:01:02.3835933Z     },
2026-06-06T06:01:02.3836339Z     {
2026-06-06T06:01:02.3836790Z       "id": "REQ-DOCS-5",
2026-06-06T06:01:02.3837915Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-06T06:01:02.3838557Z       "requiredStages": [
2026-06-06T06:01:02.3838976Z         "impl",
2026-06-06T06:01:02.3839599Z         "int"
2026-06-06T06:01:02.3840307Z       ],
2026-06-06T06:01:02.3840787Z       "stages": {
2026-06-06T06:01:02.3841278Z         "doc": {
2026-06-06T06:01:02.3841851Z           "complete": false,
2026-06-06T06:01:02.3842440Z           "evidence": []
2026-06-06T06:01:02.3842981Z         },
2026-06-06T06:01:02.3843618Z         "impl": {
2026-06-06T06:01:02.3844250Z           "complete": true,
2026-06-06T06:01:02.3844782Z           "evidence": [
2026-06-06T06:01:02.3845265Z             {
2026-06-06T06:01:02.3846037Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.3846571Z               "line": 523
2026-06-06T06:01:02.3847051Z             },
2026-06-06T06:01:02.3847510Z             {
2026-06-06T06:01:02.3848136Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:01:02.3848689Z               "line": 109
2026-06-06T06:01:02.3849256Z             }
2026-06-06T06:01:02.3849754Z           ]
2026-06-06T06:01:02.3850212Z         },
2026-06-06T06:01:02.3850693Z         "int": {
2026-06-06T06:01:02.3851215Z           "complete": true,
2026-06-06T06:01:02.3851678Z           "evidence": [
2026-06-06T06:01:02.3852149Z             {
2026-06-06T06:01:02.3852793Z               "path": ".github/workflows/ci.yml",
2026-06-06T06:01:02.3853354Z               "line": 84
2026-06-06T06:01:02.3853844Z             },
2026-06-06T06:01:02.3854292Z             {
2026-06-06T06:01:02.3855049Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.3855565Z               "line": 991
2026-06-06T06:01:02.3856061Z             }
2026-06-06T06:01:02.3856542Z           ]
2026-06-06T06:01:02.3857026Z         },
2026-06-06T06:01:02.3857517Z         "unit": {
2026-06-06T06:01:02.3858036Z           "complete": false,
2026-06-06T06:01:02.3858529Z           "evidence": []
2026-06-06T06:01:02.3858976Z         }
2026-06-06T06:01:02.3859627Z       }
2026-06-06T06:01:02.3860082Z     },
2026-06-06T06:01:02.3860526Z     {
2026-06-06T06:01:02.3861034Z       "id": "REQ-DOCS-6",
2026-06-06T06:01:02.3863171Z       "title": "spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)",
2026-06-06T06:01:02.3863717Z       "requiredStages": [
2026-06-06T06:01:02.3864189Z         "impl",
2026-06-06T06:01:02.3864641Z         "unit",
2026-06-06T06:01:02.3865078Z         "int"
2026-06-06T06:01:02.3865525Z       ],
2026-06-06T06:01:02.3865980Z       "stages": {
2026-06-06T06:01:02.3866427Z         "doc": {
2026-06-06T06:01:02.3866938Z           "complete": true,
2026-06-06T06:01:02.3867417Z           "evidence": [
2026-06-06T06:01:02.3867911Z             {
2026-06-06T06:01:02.3868735Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-06T06:01:02.3869403Z               "line": 4
2026-06-06T06:01:02.3869924Z             }
2026-06-06T06:01:02.3870393Z           ]
2026-06-06T06:01:02.3870905Z         },
2026-06-06T06:01:02.3871398Z         "impl": {
2026-06-06T06:01:02.3871942Z           "complete": true,
2026-06-06T06:01:02.3872488Z           "evidence": [
2026-06-06T06:01:02.3872956Z             {
2026-06-06T06:01:02.3873549Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.3874060Z               "line": 2196
2026-06-06T06:01:02.3874983Z             }
2026-06-06T06:01:02.3875477Z           ]
2026-06-06T06:01:02.3875962Z         },
2026-06-06T06:01:02.3876446Z         "int": {
2026-06-06T06:01:02.3877004Z           "complete": true,
2026-06-06T06:01:02.3877501Z           "evidence": [
2026-06-06T06:01:02.3877963Z             {
2026-06-06T06:01:02.3878753Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-06T06:01:02.3879274Z               "line": 34
2026-06-06T06:01:02.3879745Z             }
2026-06-06T06:01:02.3880255Z           ]
2026-06-06T06:01:02.3880748Z         },
2026-06-06T06:01:02.3881213Z         "unit": {
2026-06-06T06:01:02.3881936Z           "complete": true,
2026-06-06T06:01:02.3882448Z           "evidence": [
2026-06-06T06:01:02.3882912Z             {
2026-06-06T06:01:02.3883547Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.3884064Z               "line": 4683
2026-06-06T06:01:02.3884538Z             }
2026-06-06T06:01:02.3884989Z           ]
2026-06-06T06:01:02.3885439Z         }
2026-06-06T06:01:02.3885932Z       }
2026-06-06T06:01:02.3886368Z     },
2026-06-06T06:01:02.3886807Z     {
2026-06-06T06:01:02.3887355Z       "id": "REQ-EP-1",
2026-06-06T06:01:02.3888130Z       "title": "Day-one endpoint types; open type system",
2026-06-06T06:01:02.3888657Z       "requiredStages": [
2026-06-06T06:01:02.3889117Z         "impl",
2026-06-06T06:01:02.3889674Z         "unit"
2026-06-06T06:01:02.3890124Z       ],
2026-06-06T06:01:02.3890606Z       "stages": {
2026-06-06T06:01:02.3891119Z         "doc": {
2026-06-06T06:01:02.3892411Z           "complete": false,
2026-06-06T06:01:02.3893815Z           "evidence": []
2026-06-06T06:01:02.3895102Z         },
2026-06-06T06:01:02.3896145Z         "impl": {
2026-06-06T06:01:02.3903476Z           "complete": true,
2026-06-06T06:01:02.3905029Z           "evidence": [
2026-06-06T06:01:02.3906341Z             {
2026-06-06T06:01:02.3907632Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:01:02.3909381Z               "line": 77
2026-06-06T06:01:02.3910593Z             },
2026-06-06T06:01:02.3912502Z             {
2026-06-06T06:01:02.3913902Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:01:02.3915659Z               "line": 94
2026-06-06T06:01:02.3916978Z             }
2026-06-06T06:01:02.3918077Z           ]
2026-06-06T06:01:02.3919086Z         },
2026-06-06T06:01:02.3920254Z         "int": {
2026-06-06T06:01:02.3921433Z           "complete": false,
2026-06-06T06:01:02.3922795Z           "evidence": []
2026-06-06T06:01:02.3924101Z         },
2026-06-06T06:01:02.3925178Z         "unit": {
2026-06-06T06:01:02.3926320Z           "complete": true,
2026-06-06T06:01:02.3927665Z           "evidence": [
2026-06-06T06:01:02.3928928Z             {
2026-06-06T06:01:02.3930433Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:01:02.3932221Z               "line": 161
2026-06-06T06:01:02.3933367Z             },
2026-06-06T06:01:02.3934368Z             {
2026-06-06T06:01:02.3935757Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:01:02.3937511Z               "line": 178
2026-06-06T06:01:02.3938752Z             }
2026-06-06T06:01:02.3940051Z           ]
2026-06-06T06:01:02.3941241Z         }
2026-06-06T06:01:02.3942324Z       }
2026-06-06T06:01:02.3943439Z     },
2026-06-06T06:01:02.3944553Z     {
2026-06-06T06:01:02.3945637Z       "id": "REQ-EP-2",
2026-06-06T06:01:02.3947395Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-06T06:01:02.3949575Z       "requiredStages": [
2026-06-06T06:01:02.3950823Z         "impl",
2026-06-06T06:01:02.3951877Z         "unit"
2026-06-06T06:01:02.3952919Z       ],
2026-06-06T06:01:02.3953880Z       "stages": {
2026-06-06T06:01:02.3954915Z         "doc": {
2026-06-06T06:01:02.3955997Z           "complete": false,
2026-06-06T06:01:02.3957243Z           "evidence": []
2026-06-06T06:01:02.3958849Z         },
2026-06-06T06:01:02.3959952Z         "impl": {
2026-06-06T06:01:02.3961057Z           "complete": true,
2026-06-06T06:01:02.3962748Z           "evidence": [
2026-06-06T06:01:02.3963857Z             {
2026-06-06T06:01:02.3965100Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:01:02.3966702Z               "line": 114
2026-06-06T06:01:02.3967855Z             },
2026-06-06T06:01:02.3968854Z             {
2026-06-06T06:01:02.3970291Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:01:02.3971855Z               "line": 131
2026-06-06T06:01:02.3972978Z             },
2026-06-06T06:01:02.3973939Z             {
2026-06-06T06:01:02.3975133Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:01:02.3976864Z               "line": 138
2026-06-06T06:01:02.3977967Z             }
2026-06-06T06:01:02.3978925Z           ]
2026-06-06T06:01:02.3980243Z         },
2026-06-06T06:01:02.3981176Z         "int": {
2026-06-06T06:01:02.3982217Z           "complete": false,
2026-06-06T06:01:02.3983430Z           "evidence": []
2026-06-06T06:01:02.3984535Z         },
2026-06-06T06:01:02.3985489Z         "unit": {
2026-06-06T06:01:02.3986528Z           "complete": true,
2026-06-06T06:01:02.3987700Z           "evidence": [
2026-06-06T06:01:02.3988768Z             {
2026-06-06T06:01:02.3996646Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:01:02.3998319Z               "line": 193
2026-06-06T06:01:02.3999562Z             },
2026-06-06T06:01:02.4000581Z             {
2026-06-06T06:01:02.4001838Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:01:02.4003446Z               "line": 211
2026-06-06T06:01:02.4004586Z             },
2026-06-06T06:01:02.4005587Z             {
2026-06-06T06:01:02.4006862Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-06T06:01:02.4008466Z               "line": 224
2026-06-06T06:01:02.4009652Z             }
2026-06-06T06:01:02.4010760Z           ]
2026-06-06T06:01:02.4011699Z         }
2026-06-06T06:01:02.4012634Z       }
2026-06-06T06:01:02.4013536Z     },
2026-06-06T06:01:02.4014440Z     {
2026-06-06T06:01:02.4015405Z       "id": "REQ-EP-3",
2026-06-06T06:01:02.4017136Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-06T06:01:02.4019204Z       "requiredStages": [
2026-06-06T06:01:02.4020668Z         "impl",
2026-06-06T06:01:02.4021663Z         "unit"
2026-06-06T06:01:02.4022648Z       ],
2026-06-06T06:01:02.4023580Z       "stages": {
2026-06-06T06:01:02.4024598Z         "doc": {
2026-06-06T06:01:02.4025654Z           "complete": false,
2026-06-06T06:01:02.4026865Z           "evidence": []
2026-06-06T06:01:02.4027968Z         },
2026-06-06T06:01:02.4028915Z         "impl": {
2026-06-06T06:01:02.4030368Z           "complete": true,
2026-06-06T06:01:02.4031544Z           "evidence": [
2026-06-06T06:01:02.4032628Z             {
2026-06-06T06:01:02.4034034Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-06T06:01:02.4035658Z               "line": 31
2026-06-06T06:01:02.4036816Z             },
2026-06-06T06:01:02.4037841Z             {
2026-06-06T06:01:02.4039090Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-06T06:01:02.4040832Z               "line": 49
2026-06-06T06:01:02.4041936Z             }
2026-06-06T06:01:02.4042904Z           ]
2026-06-06T06:01:02.4043848Z         },
2026-06-06T06:01:02.4044778Z         "int": {
2026-06-06T06:01:02.4045835Z           "complete": false,
2026-06-06T06:01:02.4047056Z           "evidence": []
2026-06-06T06:01:02.4048168Z         },
2026-06-06T06:01:02.4049109Z         "unit": {
2026-06-06T06:01:02.4050458Z           "complete": true,
2026-06-06T06:01:02.4051680Z           "evidence": [
2026-06-06T06:01:02.4052814Z             {
2026-06-06T06:01:02.4054061Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-06T06:01:02.4055673Z               "line": 156
2026-06-06T06:01:02.4056831Z             },
2026-06-06T06:01:02.4057852Z             {
2026-06-06T06:01:02.4059264Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-06T06:01:02.4061102Z               "line": 164
2026-06-06T06:01:02.4062624Z             },
2026-06-06T06:01:02.4063624Z             {
2026-06-06T06:01:02.4064856Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-06T06:01:02.4066406Z               "line": 177
2026-06-06T06:01:02.4067514Z             },
2026-06-06T06:01:02.4068491Z             {
2026-06-06T06:01:02.4069734Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-06T06:01:02.4071282Z               "line": 197
2026-06-06T06:01:02.4072398Z             },
2026-06-06T06:01:02.4073377Z             {
2026-06-06T06:01:02.4074585Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-06T06:01:02.4076365Z               "line": 213
2026-06-06T06:01:02.4077493Z             },
2026-06-06T06:01:02.4078474Z             {
2026-06-06T06:01:02.4079715Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-06T06:01:02.4081269Z               "line": 227
2026-06-06T06:01:02.4082381Z             }
2026-06-06T06:01:02.4083352Z           ]
2026-06-06T06:01:02.4084298Z         }
2026-06-06T06:01:02.4085250Z       }
2026-06-06T06:01:02.4086158Z     },
2026-06-06T06:01:02.4087074Z     {
2026-06-06T06:01:02.4088020Z       "id": "REQ-EP-4",
2026-06-06T06:01:02.4089531Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-06T06:01:02.4091285Z       "requiredStages": [
2026-06-06T06:01:02.4092447Z         "impl",
2026-06-06T06:01:02.4093438Z         "unit"
2026-06-06T06:01:02.4094433Z       ],
2026-06-06T06:01:02.4100697Z       "stages": {
2026-06-06T06:01:02.4101781Z         "doc": {
2026-06-06T06:01:02.4102843Z           "complete": false,
2026-06-06T06:01:02.4104068Z           "evidence": []
2026-06-06T06:01:02.4105216Z         },
2026-06-06T06:01:02.4106151Z         "impl": {
2026-06-06T06:01:02.4107209Z           "complete": true,
2026-06-06T06:01:02.4108402Z           "evidence": [
2026-06-06T06:01:02.4109556Z             {
2026-06-06T06:01:02.4110723Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:01:02.4112259Z               "line": 427
2026-06-06T06:01:02.4113382Z             },
2026-06-06T06:01:02.4114349Z             {
2026-06-06T06:01:02.4115517Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:01:02.4117046Z               "line": 669
2026-06-06T06:01:02.4118162Z             },
2026-06-06T06:01:02.4119138Z             {
2026-06-06T06:01:02.4120363Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:01:02.4121910Z               "line": 768
2026-06-06T06:01:02.4123026Z             },
2026-06-06T06:01:02.4124009Z             {
2026-06-06T06:01:02.4125172Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:01:02.4126681Z               "line": 83
2026-06-06T06:01:02.4127780Z             },
2026-06-06T06:01:02.4128763Z             {
2026-06-06T06:01:02.4129945Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:01:02.4131447Z               "line": 452
2026-06-06T06:01:02.4132566Z             },
2026-06-06T06:01:02.4133544Z             {
2026-06-06T06:01:02.4134686Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:01:02.4136195Z               "line": 523
2026-06-06T06:01:02.4137303Z             },
2026-06-06T06:01:02.4138284Z             {
2026-06-06T06:01:02.4139527Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:01:02.4141088Z               "line": 181
2026-06-06T06:01:02.4142201Z             },
2026-06-06T06:01:02.4143173Z             {
2026-06-06T06:01:02.4144364Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:01:02.4145895Z               "line": 306
2026-06-06T06:01:02.4147004Z             },
2026-06-06T06:01:02.4147983Z             {
2026-06-06T06:01:02.4149234Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:01:02.4150786Z               "line": 666
2026-06-06T06:01:02.4151898Z             }
2026-06-06T06:01:02.4152862Z           ]
2026-06-06T06:01:02.4153793Z         },
2026-06-06T06:01:02.4154735Z         "int": {
2026-06-06T06:01:02.4155782Z           "complete": false,
2026-06-06T06:01:02.4157317Z           "evidence": []
2026-06-06T06:01:02.4158418Z         },
2026-06-06T06:01:02.4159410Z         "unit": {
2026-06-06T06:01:02.4160467Z           "complete": true,
2026-06-06T06:01:02.4161645Z           "evidence": [
2026-06-06T06:01:02.4162726Z             {
2026-06-06T06:01:02.4163871Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-06T06:01:02.4165371Z               "line": 596
2026-06-06T06:01:02.4166482Z             },
2026-06-06T06:01:02.4167455Z             {
2026-06-06T06:01:02.4168693Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-06T06:01:02.4170297Z               "line": 75
2026-06-06T06:01:02.4171555Z             },
2026-06-06T06:01:02.4172524Z             {
2026-06-06T06:01:02.4173739Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-06T06:01:02.4175317Z               "line": 131
2026-06-06T06:01:02.4176422Z             }
2026-06-06T06:01:02.4177380Z           ]
2026-06-06T06:01:02.4178307Z         }
2026-06-06T06:01:02.4179298Z       }
2026-06-06T06:01:02.4180208Z     },
2026-06-06T06:01:02.4181131Z     {
2026-06-06T06:01:02.4182079Z       "id": "REQ-EP-5",
2026-06-06T06:01:02.4187124Z       "title": "Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope",
2026-06-06T06:01:02.4192575Z       "requiredStages": [
2026-06-06T06:01:02.4193751Z         "impl",
2026-06-06T06:01:02.4194755Z         "unit",
2026-06-06T06:01:02.4195737Z         "int"
2026-06-06T06:01:02.4196725Z       ],
2026-06-06T06:01:02.4197663Z       "stages": {
2026-06-06T06:01:02.4198679Z         "doc": {
2026-06-06T06:01:02.4199779Z           "complete": false,
2026-06-06T06:01:02.4200990Z           "evidence": []
2026-06-06T06:01:02.4202089Z         },
2026-06-06T06:01:02.4207558Z         "impl": {
2026-06-06T06:01:02.4208665Z           "complete": true,
2026-06-06T06:01:02.4209967Z           "evidence": [
2026-06-06T06:01:02.4211046Z             {
2026-06-06T06:01:02.4212298Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.4213897Z               "line": 254
2026-06-06T06:01:02.4214990Z             },
2026-06-06T06:01:02.4215951Z             {
2026-06-06T06:01:02.4217151Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-06T06:01:02.4218723Z               "line": 18
2026-06-06T06:01:02.4219860Z             },
2026-06-06T06:01:02.4220833Z             {
2026-06-06T06:01:02.4222043Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-06T06:01:02.4224212Z               "line": 63
2026-06-06T06:01:02.4225487Z             },
2026-06-06T06:01:02.4226457Z             {
2026-06-06T06:01:02.4227654Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-06T06:01:02.4229263Z               "line": 88
2026-06-06T06:01:02.4230395Z             },
2026-06-06T06:01:02.4231369Z             {
2026-06-06T06:01:02.4232594Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-06T06:01:02.4234165Z               "line": 163
2026-06-06T06:01:02.4235268Z             },
2026-06-06T06:01:02.4236237Z             {
2026-06-06T06:01:02.4237438Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-06T06:01:02.4238995Z               "line": 175
2026-06-06T06:01:02.4240159Z             },
2026-06-06T06:01:02.4241142Z             {
2026-06-06T06:01:02.4242339Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.4243900Z               "line": 114
2026-06-06T06:01:02.4245000Z             },
2026-06-06T06:01:02.4245993Z             {
2026-06-06T06:01:02.4247186Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:01:02.4248736Z               "line": 22
2026-06-06T06:01:02.4249874Z             },
2026-06-06T06:01:02.4250848Z             {
2026-06-06T06:01:02.4252044Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:01:02.4253599Z               "line": 129
2026-06-06T06:01:02.4255009Z             },
2026-06-06T06:01:02.4255988Z             {
2026-06-06T06:01:02.4257182Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:01:02.4258730Z               "line": 156
2026-06-06T06:01:02.4259905Z             },
2026-06-06T06:01:02.4260873Z             {
2026-06-06T06:01:02.4262070Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:01:02.4263621Z               "line": 178
2026-06-06T06:01:02.4264739Z             },
2026-06-06T06:01:02.4265715Z             {
2026-06-06T06:01:02.4266898Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:01:02.4268619Z               "line": 203
2026-06-06T06:01:02.4269774Z             },
2026-06-06T06:01:02.4270758Z             {
2026-06-06T06:01:02.4271960Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:01:02.4273504Z               "line": 226
2026-06-06T06:01:02.4274611Z             },
2026-06-06T06:01:02.4275595Z             {
2026-06-06T06:01:02.4276817Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:01:02.4278359Z               "line": 246
2026-06-06T06:01:02.4279501Z             },
2026-06-06T06:01:02.4280476Z             {
2026-06-06T06:01:02.4281654Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.4283183Z               "line": 81
2026-06-06T06:01:02.4284276Z             },
2026-06-06T06:01:02.4285248Z             {
2026-06-06T06:01:02.4286339Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.4287775Z               "line": 2491
2026-06-06T06:01:02.4288883Z             },
2026-06-06T06:01:02.4289925Z             {
2026-06-06T06:01:02.4291017Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.4292450Z               "line": 2608
2026-06-06T06:01:02.4293582Z             },
2026-06-06T06:01:02.4294561Z             {
2026-06-06T06:01:02.4295659Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.4297099Z               "line": 2758
2026-06-06T06:01:02.4298248Z             },
2026-06-06T06:01:02.4299252Z             {
2026-06-06T06:01:02.4300358Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.4301778Z               "line": 3105
2026-06-06T06:01:02.4302899Z             }
2026-06-06T06:01:02.4303855Z           ]
2026-06-06T06:01:02.4304789Z         },
2026-06-06T06:01:02.4310215Z         "int": {
2026-06-06T06:01:02.4311416Z           "complete": true,
2026-06-06T06:01:02.4312597Z           "evidence": [
2026-06-06T06:01:02.4313681Z             {
2026-06-06T06:01:02.4314909Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-06T06:01:02.4316516Z               "line": 16
2026-06-06T06:01:02.4317615Z             },
2026-06-06T06:01:02.4318589Z             {
2026-06-06T06:01:02.4319788Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-06T06:01:02.4321276Z               "line": 15
2026-06-06T06:01:02.4322369Z             }
2026-06-06T06:01:02.4323319Z           ]
2026-06-06T06:01:02.4324281Z         },
2026-06-06T06:01:02.4325215Z         "unit": {
2026-06-06T06:01:02.4326254Z           "complete": true,
2026-06-06T06:01:02.4327432Z           "evidence": [
2026-06-06T06:01:02.4328497Z             {
2026-06-06T06:01:02.4329736Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-06T06:01:02.4331298Z               "line": 237
2026-06-06T06:01:02.4332409Z             },
2026-06-06T06:01:02.4333389Z             {
2026-06-06T06:01:02.4334597Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-06T06:01:02.4336147Z               "line": 294
2026-06-06T06:01:02.4337255Z             },
2026-06-06T06:01:02.4338237Z             {
2026-06-06T06:01:02.4339467Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-06T06:01:02.4341018Z               "line": 343
2026-06-06T06:01:02.4342119Z             },
2026-06-06T06:01:02.4343086Z             {
2026-06-06T06:01:02.4344285Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:01:02.4346089Z               "line": 262
2026-06-06T06:01:02.4347222Z             },
2026-06-06T06:01:02.4348195Z             {
2026-06-06T06:01:02.4349442Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:01:02.4351038Z               "line": 285
2026-06-06T06:01:02.4352143Z             },
2026-06-06T06:01:02.4353107Z             {
2026-06-06T06:01:02.4354299Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.4355823Z               "line": 474
2026-06-06T06:01:02.4356924Z             },
2026-06-06T06:01:02.4357896Z             {
2026-06-06T06:01:02.4358980Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.4360647Z               "line": 3570
2026-06-06T06:01:02.4361774Z             },
2026-06-06T06:01:02.4362740Z             {
2026-06-06T06:01:02.4363832Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.4365260Z               "line": 3628
2026-06-06T06:01:02.4366370Z             },
2026-06-06T06:01:02.4367336Z             {
2026-06-06T06:01:02.4368428Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.4369898Z               "line": 4121
2026-06-06T06:01:02.4371023Z             },
2026-06-06T06:01:02.4371988Z             {
2026-06-06T06:01:02.4373067Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.4374489Z               "line": 4176
2026-06-06T06:01:02.4375609Z             }
2026-06-06T06:01:02.4376565Z           ]
2026-06-06T06:01:02.4377487Z         }
2026-06-06T06:01:02.4378399Z       }
2026-06-06T06:01:02.4379325Z     },
2026-06-06T06:01:02.4380237Z     {
2026-06-06T06:01:02.4381186Z       "id": "REQ-FRONT-1",
2026-06-06T06:01:02.4382900Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-06T06:01:02.4384860Z       "requiredStages": [],
2026-06-06T06:01:02.4386027Z       "stages": {
2026-06-06T06:01:02.4387040Z         "doc": {
2026-06-06T06:01:02.4388075Z           "complete": false,
2026-06-06T06:01:02.4389310Z           "evidence": []
2026-06-06T06:01:02.4390438Z         },
2026-06-06T06:01:02.4391404Z         "impl": {
2026-06-06T06:01:02.4392460Z           "complete": false,
2026-06-06T06:01:02.4393676Z           "evidence": []
2026-06-06T06:01:02.4394785Z         },
2026-06-06T06:01:02.4395720Z         "int": {
2026-06-06T06:01:02.4396769Z           "complete": false,
2026-06-06T06:01:02.4397969Z           "evidence": []
2026-06-06T06:01:02.4399065Z         },
2026-06-06T06:01:02.4400082Z         "unit": {
2026-06-06T06:01:02.4401142Z           "complete": false,
2026-06-06T06:01:02.4402337Z           "evidence": []
2026-06-06T06:01:02.4403436Z         }
2026-06-06T06:01:02.4404358Z       }
2026-06-06T06:01:02.4409672Z     },
2026-06-06T06:01:02.4410688Z     {
2026-06-06T06:01:02.4411778Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-06T06:01:02.4413735Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-06T06:01:02.4415654Z       "requiredStages": [
2026-06-06T06:01:02.4416765Z         "impl",
2026-06-06T06:01:02.4417745Z         "unit"
2026-06-06T06:01:02.4418719Z       ],
2026-06-06T06:01:02.4419669Z       "stages": {
2026-06-06T06:01:02.4420656Z         "doc": {
2026-06-06T06:01:02.4421684Z           "complete": false,
2026-06-06T06:01:02.4422863Z           "evidence": []
2026-06-06T06:01:02.4423948Z         },
2026-06-06T06:01:02.4424866Z         "impl": {
2026-06-06T06:01:02.4425904Z           "complete": true,
2026-06-06T06:01:02.4427069Z           "evidence": [
2026-06-06T06:01:02.4428117Z             {
2026-06-06T06:01:02.4429326Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.4430845Z               "line": 146
2026-06-06T06:01:02.4431951Z             },
2026-06-06T06:01:02.4432894Z             {
2026-06-06T06:01:02.4434017Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:01:02.4435480Z               "line": 18
2026-06-06T06:01:02.4436566Z             },
2026-06-06T06:01:02.4437513Z             {
2026-06-06T06:01:02.4438640Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:01:02.4440498Z               "line": 98
2026-06-06T06:01:02.4441580Z             }
2026-06-06T06:01:02.4442514Z           ]
2026-06-06T06:01:02.4443429Z         },
2026-06-06T06:01:02.4444337Z         "int": {
2026-06-06T06:01:02.4445361Z           "complete": false,
2026-06-06T06:01:02.4446553Z           "evidence": []
2026-06-06T06:01:02.4447733Z         },
2026-06-06T06:01:02.4448675Z         "unit": {
2026-06-06T06:01:02.4449742Z           "complete": true,
2026-06-06T06:01:02.4450909Z           "evidence": [
2026-06-06T06:01:02.4451963Z             {
2026-06-06T06:01:02.4453120Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.4454813Z               "line": 530
2026-06-06T06:01:02.4455909Z             },
2026-06-06T06:01:02.4456861Z             {
2026-06-06T06:01:02.4457982Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:01:02.4459495Z               "line": 156
2026-06-06T06:01:02.4460583Z             },
2026-06-06T06:01:02.4461529Z             {
2026-06-06T06:01:02.4462671Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:01:02.4464143Z               "line": 218
2026-06-06T06:01:02.4465231Z             }
2026-06-06T06:01:02.4466176Z           ]
2026-06-06T06:01:02.4467090Z         }
2026-06-06T06:01:02.4467983Z       }
2026-06-06T06:01:02.4468856Z     },
2026-06-06T06:01:02.4469781Z     {
2026-06-06T06:01:02.4470886Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-06T06:01:02.4475604Z       "title": "A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)",
2026-06-06T06:01:02.4480223Z       "requiredStages": [
2026-06-06T06:01:02.4481352Z         "impl",
2026-06-06T06:01:02.4482346Z         "unit"
2026-06-06T06:01:02.4483293Z       ],
2026-06-06T06:01:02.4484217Z       "stages": {
2026-06-06T06:01:02.4485209Z         "doc": {
2026-06-06T06:01:02.4486248Z           "complete": false,
2026-06-06T06:01:02.4487454Z           "evidence": []
2026-06-06T06:01:02.4488537Z         },
2026-06-06T06:01:02.4489519Z         "impl": {
2026-06-06T06:01:02.4490555Z           "complete": true,
2026-06-06T06:01:02.4491724Z           "evidence": [
2026-06-06T06:01:02.4492792Z             {
2026-06-06T06:01:02.4493986Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-06T06:01:02.4495531Z               "line": 22
2026-06-06T06:01:02.4496605Z             },
2026-06-06T06:01:02.4497551Z             {
2026-06-06T06:01:02.4498679Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:01:02.4500229Z               "line": 417
2026-06-06T06:01:02.4501317Z             },
2026-06-06T06:01:02.4502283Z             {
2026-06-06T06:01:02.4503458Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-06T06:01:02.4504978Z               "line": 17
2026-06-06T06:01:02.4506061Z             },
2026-06-06T06:01:02.4507017Z             {
2026-06-06T06:01:02.4508202Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-06T06:01:02.4514183Z               "line": 125
2026-06-06T06:01:02.4515342Z             },
2026-06-06T06:01:02.4516296Z             {
2026-06-06T06:01:02.4517517Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.4519086Z               "line": 178
2026-06-06T06:01:02.4520297Z             },
2026-06-06T06:01:02.4521243Z             {
2026-06-06T06:01:02.4522458Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.4524041Z               "line": 206
2026-06-06T06:01:02.4525129Z             },
2026-06-06T06:01:02.4526102Z             {
2026-06-06T06:01:02.4527321Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.4528895Z               "line": 232
2026-06-06T06:01:02.4530014Z             },
2026-06-06T06:01:02.4530964Z             {
2026-06-06T06:01:02.4532139Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:01:02.4533674Z               "line": 122
2026-06-06T06:01:02.4535062Z             },
2026-06-06T06:01:02.4536023Z             {
2026-06-06T06:01:02.4537199Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:01:02.4537628Z               "line": 222
2026-06-06T06:01:02.4538028Z             }
2026-06-06T06:01:02.4538440Z           ]
2026-06-06T06:01:02.4538835Z         },
2026-06-06T06:01:02.4539286Z         "int": {
2026-06-06T06:01:02.4539745Z           "complete": false,
2026-06-06T06:01:02.4540188Z           "evidence": []
2026-06-06T06:01:02.4540588Z         },
2026-06-06T06:01:02.4541011Z         "unit": {
2026-06-06T06:01:02.4541624Z           "complete": true,
2026-06-06T06:01:02.4542055Z           "evidence": [
2026-06-06T06:01:02.4542459Z             {
2026-06-06T06:01:02.4543112Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-06T06:01:02.4543553Z               "line": 53
2026-06-06T06:01:02.4543956Z             },
2026-06-06T06:01:02.4544364Z             {
2026-06-06T06:01:02.4545028Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-06T06:01:02.4545453Z               "line": 60
2026-06-06T06:01:02.4545859Z             },
2026-06-06T06:01:02.4546255Z             {
2026-06-06T06:01:02.4546908Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-06T06:01:02.4547327Z               "line": 72
2026-06-06T06:01:02.4547738Z             },
2026-06-06T06:01:02.4548143Z             {
2026-06-06T06:01:02.4548758Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-06T06:01:02.4549238Z               "line": 298
2026-06-06T06:01:02.4549640Z             },
2026-06-06T06:01:02.4550051Z             {
2026-06-06T06:01:02.4550674Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-06T06:01:02.4551113Z               "line": 247
2026-06-06T06:01:02.4551519Z             },
2026-06-06T06:01:02.4551911Z             {
2026-06-06T06:01:02.4552544Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-06T06:01:02.4552972Z               "line": 282
2026-06-06T06:01:02.4553388Z             },
2026-06-06T06:01:02.4553788Z             {
2026-06-06T06:01:02.4554407Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-06T06:01:02.4554844Z               "line": 313
2026-06-06T06:01:02.4555241Z             },
2026-06-06T06:01:02.4555643Z             {
2026-06-06T06:01:02.4556314Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.4556755Z               "line": 613
2026-06-06T06:01:02.4557163Z             },
2026-06-06T06:01:02.4557557Z             {
2026-06-06T06:01:02.4558198Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:01:02.4558637Z               "line": 383
2026-06-06T06:01:02.4559041Z             },
2026-06-06T06:01:02.4559470Z             {
2026-06-06T06:01:02.4560112Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:01:02.4560546Z               "line": 420
2026-06-06T06:01:02.4560948Z             }
2026-06-06T06:01:02.4561350Z           ]
2026-06-06T06:01:02.4561751Z         }
2026-06-06T06:01:02.4562153Z       }
2026-06-06T06:01:02.4562544Z     },
2026-06-06T06:01:02.4562942Z     {
2026-06-06T06:01:02.4563444Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-06T06:01:02.4564690Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-06T06:01:02.4565159Z       "requiredStages": [
2026-06-06T06:01:02.4565565Z         "impl",
2026-06-06T06:01:02.4565973Z         "unit"
2026-06-06T06:01:02.4566366Z       ],
2026-06-06T06:01:02.4566782Z       "stages": {
2026-06-06T06:01:02.4567193Z         "doc": {
2026-06-06T06:01:02.4567657Z           "complete": false,
2026-06-06T06:01:02.4568102Z           "evidence": []
2026-06-06T06:01:02.4568497Z         },
2026-06-06T06:01:02.4568912Z         "impl": {
2026-06-06T06:01:02.4569392Z           "complete": true,
2026-06-06T06:01:02.4569829Z           "evidence": [
2026-06-06T06:01:02.4570234Z             {
2026-06-06T06:01:02.4570825Z               "path": "crates/spt-term/src/reader.rs",
2026-06-06T06:01:02.4571426Z               "line": 164
2026-06-06T06:01:02.4571819Z             }
2026-06-06T06:01:02.4572224Z           ]
2026-06-06T06:01:02.4572618Z         },
2026-06-06T06:01:02.4573024Z         "int": {
2026-06-06T06:01:02.4573474Z           "complete": true,
2026-06-06T06:01:02.4573900Z           "evidence": [
2026-06-06T06:01:02.4574302Z             {
2026-06-06T06:01:02.4574885Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-06T06:01:02.4575314Z               "line": 44
2026-06-06T06:01:02.4575709Z             },
2026-06-06T06:01:02.4576111Z             {
2026-06-06T06:01:02.4576830Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-06T06:01:02.4577254Z               "line": 66
2026-06-06T06:01:02.4577665Z             }
2026-06-06T06:01:02.4578057Z           ]
2026-06-06T06:01:02.4578456Z         },
2026-06-06T06:01:02.4578863Z         "unit": {
2026-06-06T06:01:02.4579356Z           "complete": true,
2026-06-06T06:01:02.4579793Z           "evidence": [
2026-06-06T06:01:02.4580199Z             {
2026-06-06T06:01:02.4580791Z               "path": "crates/spt-term/src/reader.rs",
2026-06-06T06:01:02.4581220Z               "line": 181
2026-06-06T06:01:02.4581640Z             },
2026-06-06T06:01:02.4582032Z             {
2026-06-06T06:01:02.4582624Z               "path": "crates/spt-term/src/reader.rs",
2026-06-06T06:01:02.4583058Z               "line": 233
2026-06-06T06:01:02.4583457Z             },
2026-06-06T06:01:02.4583856Z             {
2026-06-06T06:01:02.4584441Z               "path": "crates/spt-term/src/reader.rs",
2026-06-06T06:01:02.4584875Z               "line": 261
2026-06-06T06:01:02.4585285Z             }
2026-06-06T06:01:02.4585686Z           ]
2026-06-06T06:01:02.4586088Z         }
2026-06-06T06:01:02.4586479Z       }
2026-06-06T06:01:02.4586878Z     },
2026-06-06T06:01:02.4587261Z     {
2026-06-06T06:01:02.4587867Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-06T06:01:02.4590606Z       "title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)",
2026-06-06T06:01:02.4591100Z       "requiredStages": [
2026-06-06T06:01:02.4591517Z         "impl",
2026-06-06T06:01:02.4591927Z         "unit",
2026-06-06T06:01:02.4592329Z         "int"
2026-06-06T06:01:02.4592721Z       ],
2026-06-06T06:01:02.4593150Z       "stages": {
2026-06-06T06:01:02.4593557Z         "doc": {
2026-06-06T06:01:02.4594011Z           "complete": false,
2026-06-06T06:01:02.4594452Z           "evidence": []
2026-06-06T06:01:02.4594845Z         },
2026-06-06T06:01:02.4595272Z         "impl": {
2026-06-06T06:01:02.4595720Z           "complete": true,
2026-06-06T06:01:02.4600353Z           "evidence": [
2026-06-06T06:01:02.4600820Z             {
2026-06-06T06:01:02.4601506Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.4601946Z               "line": 150
2026-06-06T06:01:02.4602340Z             },
2026-06-06T06:01:02.4602767Z             {
2026-06-06T06:01:02.4603400Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.4603842Z               "line": 169
2026-06-06T06:01:02.4604239Z             },
2026-06-06T06:01:02.4604642Z             {
2026-06-06T06:01:02.4605410Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:01:02.4605925Z               "line": 79
2026-06-06T06:01:02.4606511Z             },
2026-06-06T06:01:02.4606906Z             {
2026-06-06T06:01:02.4607476Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:01:02.4607905Z               "line": 51
2026-06-06T06:01:02.4608314Z             },
2026-06-06T06:01:02.4608709Z             {
2026-06-06T06:01:02.4609331Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.4609786Z               "line": 154
2026-06-06T06:01:02.4610182Z             },
2026-06-06T06:01:02.4610585Z             {
2026-06-06T06:01:02.4611218Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-06T06:01:02.4611902Z               "line": 27
2026-06-06T06:01:02.4612315Z             },
2026-06-06T06:01:02.4612711Z             {
2026-06-06T06:01:02.4613342Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-06T06:01:02.4613769Z               "line": 79
2026-06-06T06:01:02.4614173Z             },
2026-06-06T06:01:02.4614572Z             {
2026-06-06T06:01:02.4615193Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-06T06:01:02.4615627Z               "line": 102
2026-06-06T06:01:02.4616029Z             },
2026-06-06T06:01:02.4616429Z             {
2026-06-06T06:01:02.4617052Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:01:02.4617641Z               "line": 108
2026-06-06T06:01:02.4618050Z             }
2026-06-06T06:01:02.4618441Z           ]
2026-06-06T06:01:02.4618840Z         },
2026-06-06T06:01:02.4619290Z         "int": {
2026-06-06T06:01:02.4619745Z           "complete": true,
2026-06-06T06:01:02.4620174Z           "evidence": [
2026-06-06T06:01:02.4620599Z             {
2026-06-06T06:01:02.4621287Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-06T06:01:02.4621717Z               "line": 35
2026-06-06T06:01:02.4622121Z             }
2026-06-06T06:01:02.4622514Z           ]
2026-06-06T06:01:02.4622914Z         },
2026-06-06T06:01:02.4623316Z         "unit": {
2026-06-06T06:01:02.4623772Z           "complete": true,
2026-06-06T06:01:02.4624204Z           "evidence": [
2026-06-06T06:01:02.4624605Z             {
2026-06-06T06:01:02.4625254Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.4625683Z               "line": 552
2026-06-06T06:01:02.4626101Z             },
2026-06-06T06:01:02.4626501Z             {
2026-06-06T06:01:02.4627086Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.4627521Z               "line": 330
2026-06-06T06:01:02.4627918Z             },
2026-06-06T06:01:02.4628320Z             {
2026-06-06T06:01:02.4628949Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-06T06:01:02.4629433Z               "line": 124
2026-06-06T06:01:02.4629835Z             },
2026-06-06T06:01:02.4630237Z             {
2026-06-06T06:01:02.4630868Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-06T06:01:02.4631302Z               "line": 136
2026-06-06T06:01:02.4631707Z             },
2026-06-06T06:01:02.4632104Z             {
2026-06-06T06:01:02.4632727Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-06T06:01:02.4633155Z               "line": 146
2026-06-06T06:01:02.4633564Z             },
2026-06-06T06:01:02.4633963Z             {
2026-06-06T06:01:02.4634598Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-06T06:01:02.4635039Z               "line": 159
2026-06-06T06:01:02.4635440Z             },
2026-06-06T06:01:02.4635840Z             {
2026-06-06T06:01:02.4636460Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-06T06:01:02.4636899Z               "line": 171
2026-06-06T06:01:02.4637301Z             },
2026-06-06T06:01:02.4637710Z             {
2026-06-06T06:01:02.4638332Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:01:02.4638761Z               "line": 207
2026-06-06T06:01:02.4639200Z             }
2026-06-06T06:01:02.4639600Z           ]
2026-06-06T06:01:02.4639993Z         }
2026-06-06T06:01:02.4640389Z       }
2026-06-06T06:01:02.4640777Z     },
2026-06-06T06:01:02.4641172Z     {
2026-06-06T06:01:02.4641792Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-06T06:01:02.4646108Z       "title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)",
2026-06-06T06:01:02.4646602Z       "requiredStages": [
2026-06-06T06:01:02.4647011Z         "impl",
2026-06-06T06:01:02.4647421Z         "unit"
2026-06-06T06:01:02.4647812Z       ],
2026-06-06T06:01:02.4648232Z       "stages": {
2026-06-06T06:01:02.4648845Z         "doc": {
2026-06-06T06:01:02.4649358Z           "complete": false,
2026-06-06T06:01:02.4649808Z           "evidence": []
2026-06-06T06:01:02.4650210Z         },
2026-06-06T06:01:02.4650630Z         "impl": {
2026-06-06T06:01:02.4651075Z           "complete": true,
2026-06-06T06:01:02.4651515Z           "evidence": [
2026-06-06T06:01:02.4651907Z             {
2026-06-06T06:01:02.4652539Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:01:02.4652976Z               "line": 222
2026-06-06T06:01:02.4653372Z             },
2026-06-06T06:01:02.4653768Z             {
2026-06-06T06:01:02.4654522Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:01:02.4654964Z               "line": 387
2026-06-06T06:01:02.4655359Z             }
2026-06-06T06:01:02.4655755Z           ]
2026-06-06T06:01:02.4656152Z         },
2026-06-06T06:01:02.4656554Z         "int": {
2026-06-06T06:01:02.4657009Z           "complete": false,
2026-06-06T06:01:02.4657445Z           "evidence": []
2026-06-06T06:01:02.4657854Z         },
2026-06-06T06:01:02.4658254Z         "unit": {
2026-06-06T06:01:02.4658707Z           "complete": true,
2026-06-06T06:01:02.4659141Z           "evidence": [
2026-06-06T06:01:02.4659583Z             {
2026-06-06T06:01:02.4660260Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-06T06:01:02.4660687Z               "line": 149
2026-06-06T06:01:02.4661092Z             }
2026-06-06T06:01:02.4661484Z           ]
2026-06-06T06:01:02.4661884Z         }
2026-06-06T06:01:02.4662282Z       }
2026-06-06T06:01:02.4662667Z     },
2026-06-06T06:01:02.4663058Z     {
2026-06-06T06:01:02.4663597Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-06T06:01:02.4664643Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-06T06:01:02.4665102Z       "requiredStages": [
2026-06-06T06:01:02.4665513Z         "impl",
2026-06-06T06:01:02.4665922Z         "unit"
2026-06-06T06:01:02.4666320Z       ],
2026-06-06T06:01:02.4666767Z       "stages": {
2026-06-06T06:01:02.4667170Z         "doc": {
2026-06-06T06:01:02.4667626Z           "complete": false,
2026-06-06T06:01:02.4668056Z           "evidence": []
2026-06-06T06:01:02.4668454Z         },
2026-06-06T06:01:02.4668864Z         "impl": {
2026-06-06T06:01:02.4669348Z           "complete": true,
2026-06-06T06:01:02.4669787Z           "evidence": [
2026-06-06T06:01:02.4670187Z             {
2026-06-06T06:01:02.4670791Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.4671209Z               "line": 40
2026-06-06T06:01:02.4671614Z             },
2026-06-06T06:01:02.4672016Z             {
2026-06-06T06:01:02.4672611Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.4673038Z               "line": 98
2026-06-06T06:01:02.4673436Z             },
2026-06-06T06:01:02.4673839Z             {
2026-06-06T06:01:02.4674426Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.4674870Z               "line": 209
2026-06-06T06:01:02.4675285Z             },
2026-06-06T06:01:02.4675676Z             {
2026-06-06T06:01:02.4676275Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.4676707Z               "line": 291
2026-06-06T06:01:02.4677109Z             }
2026-06-06T06:01:02.4677513Z           ]
2026-06-06T06:01:02.4677915Z         },
2026-06-06T06:01:02.4678324Z         "int": {
2026-06-06T06:01:02.4678769Z           "complete": false,
2026-06-06T06:01:02.4683355Z           "evidence": []
2026-06-06T06:01:02.4683843Z         },
2026-06-06T06:01:02.4684271Z         "unit": {
2026-06-06T06:01:02.4684726Z           "complete": true,
2026-06-06T06:01:02.4685198Z           "evidence": [
2026-06-06T06:01:02.4685599Z             {
2026-06-06T06:01:02.4686199Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.4686633Z               "line": 326
2026-06-06T06:01:02.4687027Z             },
2026-06-06T06:01:02.4687428Z             {
2026-06-06T06:01:02.4688015Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.4688720Z               "line": 372
2026-06-06T06:01:02.4689126Z             },
2026-06-06T06:01:02.4689604Z             {
2026-06-06T06:01:02.4690198Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.4690625Z               "line": 413
2026-06-06T06:01:02.4691027Z             },
2026-06-06T06:01:02.4691427Z             {
2026-06-06T06:01:02.4692010Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.4692448Z               "line": 432
2026-06-06T06:01:02.4692842Z             }
2026-06-06T06:01:02.4693242Z           ]
2026-06-06T06:01:02.4693788Z         }
2026-06-06T06:01:02.4694188Z       }
2026-06-06T06:01:02.4694573Z     },
2026-06-06T06:01:02.4694970Z     {
2026-06-06T06:01:02.4695583Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-06T06:01:02.4696234Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-06T06:01:02.4696699Z       "requiredStages": [
2026-06-06T06:01:02.4697104Z         "impl",
2026-06-06T06:01:02.4697525Z         "unit"
2026-06-06T06:01:02.4697924Z       ],
2026-06-06T06:01:02.4698333Z       "stages": {
2026-06-06T06:01:02.4698741Z         "doc": {
2026-06-06T06:01:02.4699228Z           "complete": false,
2026-06-06T06:01:02.4699672Z           "evidence": []
2026-06-06T06:01:02.4700067Z         },
2026-06-06T06:01:02.4700478Z         "impl": {
2026-06-06T06:01:02.4700956Z           "complete": true,
2026-06-06T06:01:02.4701393Z           "evidence": [
2026-06-06T06:01:02.4701791Z             {
2026-06-06T06:01:02.4702378Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.4702813Z               "line": 111
2026-06-06T06:01:02.4703221Z             },
2026-06-06T06:01:02.4703621Z             {
2026-06-06T06:01:02.4704208Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.4704651Z               "line": 202
2026-06-06T06:01:02.4705055Z             }
2026-06-06T06:01:02.4705443Z           ]
2026-06-06T06:01:02.4705842Z         },
2026-06-06T06:01:02.4706249Z         "int": {
2026-06-06T06:01:02.4706700Z           "complete": false,
2026-06-06T06:01:02.4707138Z           "evidence": []
2026-06-06T06:01:02.4707532Z         },
2026-06-06T06:01:02.4707946Z         "unit": {
2026-06-06T06:01:02.4708397Z           "complete": true,
2026-06-06T06:01:02.4708829Z           "evidence": [
2026-06-06T06:01:02.4709259Z             {
2026-06-06T06:01:02.4709855Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.4710290Z               "line": 347
2026-06-06T06:01:02.4710682Z             },
2026-06-06T06:01:02.4711086Z             {
2026-06-06T06:01:02.4711684Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.4712122Z               "line": 391
2026-06-06T06:01:02.4712513Z             }
2026-06-06T06:01:02.4712909Z           ]
2026-06-06T06:01:02.4713304Z         }
2026-06-06T06:01:02.4713691Z       }
2026-06-06T06:01:02.4714083Z     },
2026-06-06T06:01:02.4714469Z     {
2026-06-06T06:01:02.4715079Z       "id": "REQ-HAZARD-DETACHED-PIPE-INHERIT",
2026-06-06T06:01:02.4721970Z       "title": "Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)",
2026-06-06T06:01:02.4722483Z       "requiredStages": [
2026-06-06T06:01:02.4722896Z         "impl",
2026-06-06T06:01:02.4723298Z         "unit"
2026-06-06T06:01:02.4723700Z       ],
2026-06-06T06:01:02.4724144Z       "stages": {
2026-06-06T06:01:02.4724556Z         "doc": {
2026-06-06T06:01:02.4725011Z           "complete": true,
2026-06-06T06:01:02.4725440Z           "evidence": [
2026-06-06T06:01:02.4725841Z             {
2026-06-06T06:01:02.4726381Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-06T06:01:02.4726821Z               "line": 188
2026-06-06T06:01:02.4727215Z             }
2026-06-06T06:01:02.4727833Z           ]
2026-06-06T06:01:02.4728237Z         },
2026-06-06T06:01:02.4728645Z         "impl": {
2026-06-06T06:01:02.4729103Z           "complete": true,
2026-06-06T06:01:02.4729579Z           "evidence": [
2026-06-06T06:01:02.4729986Z             {
2026-06-06T06:01:02.4730602Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-06T06:01:02.4731044Z               "line": 250
2026-06-06T06:01:02.4731452Z             },
2026-06-06T06:01:02.4731849Z             {
2026-06-06T06:01:02.4732468Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-06T06:01:02.4733050Z               "line": 340
2026-06-06T06:01:02.4733455Z             },
2026-06-06T06:01:02.4733850Z             {
2026-06-06T06:01:02.4734504Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.4734945Z               "line": 178
2026-06-06T06:01:02.4735344Z             }
2026-06-06T06:01:02.4735745Z           ]
2026-06-06T06:01:02.4736141Z         },
2026-06-06T06:01:02.4736561Z         "int": {
2026-06-06T06:01:02.4737011Z           "complete": false,
2026-06-06T06:01:02.4737448Z           "evidence": []
2026-06-06T06:01:02.4737846Z         },
2026-06-06T06:01:02.4738250Z         "unit": {
2026-06-06T06:01:02.4738709Z           "complete": true,
2026-06-06T06:01:02.4739139Z           "evidence": [
2026-06-06T06:01:02.4739583Z             {
2026-06-06T06:01:02.4740199Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-06T06:01:02.4740632Z               "line": 378
2026-06-06T06:01:02.4741032Z             },
2026-06-06T06:01:02.4741423Z             {
2026-06-06T06:01:02.4742103Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-06T06:01:02.4742520Z               "line": 44
2026-06-06T06:01:02.4742925Z             },
2026-06-06T06:01:02.4743322Z             {
2026-06-06T06:01:02.4743916Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-06T06:01:02.4744349Z               "line": 54
2026-06-06T06:01:02.4744747Z             },
2026-06-06T06:01:02.4745164Z             {
2026-06-06T06:01:02.4745857Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-06T06:01:02.4746285Z               "line": 51
2026-06-06T06:01:02.4746682Z             }
2026-06-06T06:01:02.4747077Z           ]
2026-06-06T06:01:02.4747474Z         }
2026-06-06T06:01:02.4747868Z       }
2026-06-06T06:01:02.4748267Z     },
2026-06-06T06:01:02.4748653Z     {
2026-06-06T06:01:02.4749306Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-06T06:01:02.4750565Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-06T06:01:02.4751043Z       "requiredStages": [
2026-06-06T06:01:02.4751465Z         "impl",
2026-06-06T06:01:02.4751865Z         "unit"
2026-06-06T06:01:02.4752263Z       ],
2026-06-06T06:01:02.4752676Z       "stages": {
2026-06-06T06:01:02.4753089Z         "doc": {
2026-06-06T06:01:02.4753540Z           "complete": false,
2026-06-06T06:01:02.4753978Z           "evidence": []
2026-06-06T06:01:02.4754386Z         },
2026-06-06T06:01:02.4754792Z         "impl": {
2026-06-06T06:01:02.4755247Z           "complete": true,
2026-06-06T06:01:02.4755672Z           "evidence": [
2026-06-06T06:01:02.4756079Z             {
2026-06-06T06:01:02.4756684Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:01:02.4757122Z               "line": 26
2026-06-06T06:01:02.4757528Z             },
2026-06-06T06:01:02.4757924Z             {
2026-06-06T06:01:02.4758536Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:01:02.4758966Z               "line": 126
2026-06-06T06:01:02.4759402Z             },
2026-06-06T06:01:02.4759812Z             {
2026-06-06T06:01:02.4760476Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-06T06:01:02.4760913Z               "line": 26
2026-06-06T06:01:02.4761317Z             },
2026-06-06T06:01:02.4761719Z             {
2026-06-06T06:01:02.4762374Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-06T06:01:02.4762985Z               "line": 233
2026-06-06T06:01:02.4763402Z             }
2026-06-06T06:01:02.4763813Z           ]
2026-06-06T06:01:02.4768188Z         },
2026-06-06T06:01:02.4768707Z         "int": {
2026-06-06T06:01:02.4769258Z           "complete": false,
2026-06-06T06:01:02.4769696Z           "evidence": []
2026-06-06T06:01:02.4770099Z         },
2026-06-06T06:01:02.4770507Z         "unit": {
2026-06-06T06:01:02.4770960Z           "complete": true,
2026-06-06T06:01:02.4771396Z           "evidence": [
2026-06-06T06:01:02.4771789Z             {
2026-06-06T06:01:02.4772405Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:01:02.4773135Z               "line": 152
2026-06-06T06:01:02.4773549Z             },
2026-06-06T06:01:02.4773947Z             {
2026-06-06T06:01:02.4774558Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:01:02.4774993Z               "line": 161
2026-06-06T06:01:02.4775393Z             },
2026-06-06T06:01:02.4775796Z             {
2026-06-06T06:01:02.4776411Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:01:02.4776843Z               "line": 170
2026-06-06T06:01:02.4777241Z             },
2026-06-06T06:01:02.4777641Z             {
2026-06-06T06:01:02.4778243Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:01:02.4778673Z               "line": 179
2026-06-06T06:01:02.4779077Z             },
2026-06-06T06:01:02.4779522Z             {
2026-06-06T06:01:02.4780135Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:01:02.4780568Z               "line": 188
2026-06-06T06:01:02.4780963Z             },
2026-06-06T06:01:02.4781378Z             {
2026-06-06T06:01:02.4781971Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:01:02.4782406Z               "line": 205
2026-06-06T06:01:02.4782804Z             },
2026-06-06T06:01:02.4783207Z             {
2026-06-06T06:01:02.4783806Z               "path": "crates/spt-live/src/context.rs",
2026-06-06T06:01:02.4784232Z               "line": 231
2026-06-06T06:01:02.4784647Z             },
2026-06-06T06:01:02.4785037Z             {
2026-06-06T06:01:02.4785628Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:01:02.4786054Z               "line": 245
2026-06-06T06:01:02.4786462Z             },
2026-06-06T06:01:02.4786862Z             {
2026-06-06T06:01:02.4787450Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:01:02.4787885Z               "line": 212
2026-06-06T06:01:02.4788285Z             },
2026-06-06T06:01:02.4788685Z             {
2026-06-06T06:01:02.4789378Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-06T06:01:02.4789832Z               "line": 256
2026-06-06T06:01:02.4790240Z             },
2026-06-06T06:01:02.4790633Z             {
2026-06-06T06:01:02.4791290Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-06T06:01:02.4791719Z               "line": 281
2026-06-06T06:01:02.4792120Z             },
2026-06-06T06:01:02.4792516Z             {
2026-06-06T06:01:02.4793185Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-06T06:01:02.4793632Z               "line": 293
2026-06-06T06:01:02.4794032Z             },
2026-06-06T06:01:02.4794437Z             {
2026-06-06T06:01:02.4795099Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-06T06:01:02.4795544Z               "line": 303
2026-06-06T06:01:02.4795950Z             },
2026-06-06T06:01:02.4796357Z             {
2026-06-06T06:01:02.4797009Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:01:02.4797445Z               "line": 502
2026-06-06T06:01:02.4797866Z             }
2026-06-06T06:01:02.4798274Z           ]
2026-06-06T06:01:02.4798680Z         }
2026-06-06T06:01:02.4799069Z       }
2026-06-06T06:01:02.4799500Z     },
2026-06-06T06:01:02.4799898Z     {
2026-06-06T06:01:02.4800510Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-06T06:01:02.4801305Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-06T06:01:02.4801945Z       "requiredStages": [
2026-06-06T06:01:02.4802360Z         "impl",
2026-06-06T06:01:02.4802760Z         "unit"
2026-06-06T06:01:02.4803164Z       ],
2026-06-06T06:01:02.4803581Z       "stages": {
2026-06-06T06:01:02.4803984Z         "doc": {
2026-06-06T06:01:02.4804442Z           "complete": false,
2026-06-06T06:01:02.4804878Z           "evidence": []
2026-06-06T06:01:02.4805279Z         },
2026-06-06T06:01:02.4805689Z         "impl": {
2026-06-06T06:01:02.4806147Z           "complete": true,
2026-06-06T06:01:02.4806584Z           "evidence": [
2026-06-06T06:01:02.4806983Z             {
2026-06-06T06:01:02.4807703Z               "path": "crates/spt-live/src/echo.rs",
2026-06-06T06:01:02.4808129Z               "line": 25
2026-06-06T06:01:02.4808541Z             },
2026-06-06T06:01:02.4808945Z             {
2026-06-06T06:01:02.4809582Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:01:02.4810022Z               "line": 26
2026-06-06T06:01:02.4810421Z             },
2026-06-06T06:01:02.4810835Z             {
2026-06-06T06:01:02.4811420Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:01:02.4811868Z               "line": 153
2026-06-06T06:01:02.4812267Z             }
2026-06-06T06:01:02.4812676Z           ]
2026-06-06T06:01:02.4813080Z         },
2026-06-06T06:01:02.4813482Z         "int": {
2026-06-06T06:01:02.4813940Z           "complete": false,
2026-06-06T06:01:02.4814372Z           "evidence": []
2026-06-06T06:01:02.4814773Z         },
2026-06-06T06:01:02.4815179Z         "unit": {
2026-06-06T06:01:02.4815639Z           "complete": true,
2026-06-06T06:01:02.4816074Z           "evidence": [
2026-06-06T06:01:02.4816483Z             {
2026-06-06T06:01:02.4817060Z               "path": "crates/spt-live/src/echo.rs",
2026-06-06T06:01:02.4817491Z               "line": 180
2026-06-06T06:01:02.4817904Z             },
2026-06-06T06:01:02.4818301Z             {
2026-06-06T06:01:02.4818884Z               "path": "crates/spt-live/src/echo.rs",
2026-06-06T06:01:02.4819369Z               "line": 205
2026-06-06T06:01:02.4819768Z             },
2026-06-06T06:01:02.4820169Z             {
2026-06-06T06:01:02.4820750Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:01:02.4821192Z               "line": 180
2026-06-06T06:01:02.4821594Z             }
2026-06-06T06:01:02.4821998Z           ]
2026-06-06T06:01:02.4822396Z         }
2026-06-06T06:01:02.4822786Z       }
2026-06-06T06:01:02.4823183Z     },
2026-06-06T06:01:02.4823566Z     {
2026-06-06T06:01:02.4824085Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-06T06:01:02.4824989Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-06T06:01:02.4825476Z       "requiredStages": [
2026-06-06T06:01:02.4825892Z         "impl",
2026-06-06T06:01:02.4826295Z         "unit"
2026-06-06T06:01:02.4826690Z       ],
2026-06-06T06:01:02.4827107Z       "stages": {
2026-06-06T06:01:02.4827519Z         "doc": {
2026-06-06T06:01:02.4827970Z           "complete": false,
2026-06-06T06:01:02.4828417Z           "evidence": []
2026-06-06T06:01:02.4828831Z         },
2026-06-06T06:01:02.4829268Z         "impl": {
2026-06-06T06:01:02.4829728Z           "complete": true,
2026-06-06T06:01:02.4830164Z           "evidence": [
2026-06-06T06:01:02.4830571Z             {
2026-06-06T06:01:02.4831170Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:01:02.4831604Z               "line": 48
2026-06-06T06:01:02.4832010Z             },
2026-06-06T06:01:02.4832409Z             {
2026-06-06T06:01:02.4833013Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:01:02.4833440Z               "line": 55
2026-06-06T06:01:02.4833862Z             },
2026-06-06T06:01:02.4834259Z             {
2026-06-06T06:01:02.4834869Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:01:02.4835304Z               "line": 74
2026-06-06T06:01:02.4835705Z             },
2026-06-06T06:01:02.4836104Z             {
2026-06-06T06:01:02.4836702Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:01:02.4837318Z               "line": 91
2026-06-06T06:01:02.4837727Z             }
2026-06-06T06:01:02.4838117Z           ]
2026-06-06T06:01:02.4838520Z         },
2026-06-06T06:01:02.4838920Z         "int": {
2026-06-06T06:01:02.4839417Z           "complete": false,
2026-06-06T06:01:02.4839857Z           "evidence": []
2026-06-06T06:01:02.4840263Z         },
2026-06-06T06:01:02.4840667Z         "unit": {
2026-06-06T06:01:02.4841121Z           "complete": true,
2026-06-06T06:01:02.4841557Z           "evidence": [
2026-06-06T06:01:02.4841958Z             {
2026-06-06T06:01:02.4842566Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:01:02.4847031Z               "line": 149
2026-06-06T06:01:02.4847542Z             },
2026-06-06T06:01:02.4847979Z             {
2026-06-06T06:01:02.4848622Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:01:02.4849063Z               "line": 163
2026-06-06T06:01:02.4849537Z             },
2026-06-06T06:01:02.4849950Z             {
2026-06-06T06:01:02.4850584Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:01:02.4851067Z               "line": 173
2026-06-06T06:01:02.4851487Z             },
2026-06-06T06:01:02.4851883Z             {
2026-06-06T06:01:02.4852492Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:01:02.4852918Z               "line": 191
2026-06-06T06:01:02.4853323Z             },
2026-06-06T06:01:02.4853723Z             {
2026-06-06T06:01:02.4854324Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:01:02.4854759Z               "line": 204
2026-06-06T06:01:02.4855155Z             }
2026-06-06T06:01:02.4855572Z           ]
2026-06-06T06:01:02.4855969Z         }
2026-06-06T06:01:02.4856371Z       }
2026-06-06T06:01:02.4856762Z     },
2026-06-06T06:01:02.4857155Z     {
2026-06-06T06:01:02.4857792Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-06T06:01:02.4858867Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-06T06:01:02.4859387Z       "requiredStages": [
2026-06-06T06:01:02.4859797Z         "impl",
2026-06-06T06:01:02.4860204Z         "unit"
2026-06-06T06:01:02.4860600Z       ],
2026-06-06T06:01:02.4861016Z       "stages": {
2026-06-06T06:01:02.4861425Z         "doc": {
2026-06-06T06:01:02.4861870Z           "complete": false,
2026-06-06T06:01:02.4862307Z           "evidence": []
2026-06-06T06:01:02.4862696Z         },
2026-06-06T06:01:02.4863105Z         "impl": {
2026-06-06T06:01:02.4863550Z           "complete": true,
2026-06-06T06:01:02.4863989Z           "evidence": [
2026-06-06T06:01:02.4864388Z             {
2026-06-06T06:01:02.4865034Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.4865468Z               "line": 349
2026-06-06T06:01:02.4865868Z             },
2026-06-06T06:01:02.4866265Z             {
2026-06-06T06:01:02.4866858Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:01:02.4867295Z               "line": 26
2026-06-06T06:01:02.4867694Z             }
2026-06-06T06:01:02.4868098Z           ]
2026-06-06T06:01:02.4868495Z         },
2026-06-06T06:01:02.4868898Z         "int": {
2026-06-06T06:01:02.4869386Z           "complete": false,
2026-06-06T06:01:02.4869824Z           "evidence": []
2026-06-06T06:01:02.4870221Z         },
2026-06-06T06:01:02.4870633Z         "unit": {
2026-06-06T06:01:02.4871089Z           "complete": true,
2026-06-06T06:01:02.4871523Z           "evidence": [
2026-06-06T06:01:02.4871919Z             {
2026-06-06T06:01:02.4872530Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:01:02.4872961Z               "line": 139
2026-06-06T06:01:02.4873376Z             },
2026-06-06T06:01:02.4873777Z             {
2026-06-06T06:01:02.4874371Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:01:02.4874801Z               "line": 182
2026-06-06T06:01:02.4875192Z             }
2026-06-06T06:01:02.4875594Z           ]
2026-06-06T06:01:02.4875984Z         }
2026-06-06T06:01:02.4876381Z       }
2026-06-06T06:01:02.4877092Z     },
2026-06-06T06:01:02.4877478Z     {
2026-06-06T06:01:02.4878083Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-06T06:01:02.4878926Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-06T06:01:02.4879441Z       "requiredStages": [
2026-06-06T06:01:02.4879856Z         "impl",
2026-06-06T06:01:02.4880272Z         "unit"
2026-06-06T06:01:02.4880673Z       ],
2026-06-06T06:01:02.4881091Z       "stages": {
2026-06-06T06:01:02.4881508Z         "doc": {
2026-06-06T06:01:02.4881961Z           "complete": false,
2026-06-06T06:01:02.4882405Z           "evidence": []
2026-06-06T06:01:02.4882981Z         },
2026-06-06T06:01:02.4883408Z         "impl": {
2026-06-06T06:01:02.4883866Z           "complete": true,
2026-06-06T06:01:02.4884299Z           "evidence": [
2026-06-06T06:01:02.4884707Z             {
2026-06-06T06:01:02.4885341Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:01:02.4885778Z               "line": 36
2026-06-06T06:01:02.4886190Z             },
2026-06-06T06:01:02.4886602Z             {
2026-06-06T06:01:02.4887247Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:01:02.4887677Z               "line": 68
2026-06-06T06:01:02.4888088Z             }
2026-06-06T06:01:02.4888487Z           ]
2026-06-06T06:01:02.4888897Z         },
2026-06-06T06:01:02.4889339Z         "int": {
2026-06-06T06:01:02.4889807Z           "complete": false,
2026-06-06T06:01:02.4890257Z           "evidence": []
2026-06-06T06:01:02.4890658Z         },
2026-06-06T06:01:02.4891073Z         "unit": {
2026-06-06T06:01:02.4891518Z           "complete": true,
2026-06-06T06:01:02.4891969Z           "evidence": [
2026-06-06T06:01:02.4892370Z             {
2026-06-06T06:01:02.4893014Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:01:02.4893456Z               "line": 143
2026-06-06T06:01:02.4893860Z             },
2026-06-06T06:01:02.4894268Z             {
2026-06-06T06:01:02.4894897Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:01:02.4895351Z               "line": 160
2026-06-06T06:01:02.4895761Z             },
2026-06-06T06:01:02.4896177Z             {
2026-06-06T06:01:02.4896841Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:01:02.4897294Z               "line": 168
2026-06-06T06:01:02.4897699Z             }
2026-06-06T06:01:02.4898102Z           ]
2026-06-06T06:01:02.4898507Z         }
2026-06-06T06:01:02.4898897Z       }
2026-06-06T06:01:02.4899341Z     },
2026-06-06T06:01:02.4899743Z     {
2026-06-06T06:01:02.4900356Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-06T06:01:02.4901363Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-06T06:01:02.4901830Z       "requiredStages": [
2026-06-06T06:01:02.4902254Z         "impl",
2026-06-06T06:01:02.4902659Z         "unit"
2026-06-06T06:01:02.4903069Z       ],
2026-06-06T06:01:02.4903492Z       "stages": {
2026-06-06T06:01:02.4903897Z         "doc": {
2026-06-06T06:01:02.4904377Z           "complete": false,
2026-06-06T06:01:02.4904814Z           "evidence": []
2026-06-06T06:01:02.4905223Z         },
2026-06-06T06:01:02.4905640Z         "impl": {
2026-06-06T06:01:02.4906100Z           "complete": true,
2026-06-06T06:01:02.4906543Z           "evidence": [
2026-06-06T06:01:02.4906948Z             {
2026-06-06T06:01:02.4907588Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:01:02.4908018Z               "line": 107
2026-06-06T06:01:02.4908423Z             }
2026-06-06T06:01:02.4908822Z           ]
2026-06-06T06:01:02.4909362Z         },
2026-06-06T06:01:02.4909804Z         "int": {
2026-06-06T06:01:02.4910280Z           "complete": false,
2026-06-06T06:01:02.4910727Z           "evidence": []
2026-06-06T06:01:02.4911125Z         },
2026-06-06T06:01:02.4911542Z         "unit": {
2026-06-06T06:01:02.4911996Z           "complete": true,
2026-06-06T06:01:02.4912440Z           "evidence": [
2026-06-06T06:01:02.4912854Z             {
2026-06-06T06:01:02.4913488Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:01:02.4914114Z               "line": 184
2026-06-06T06:01:02.4914521Z             },
2026-06-06T06:01:02.4914936Z             {
2026-06-06T06:01:02.4915570Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:01:02.4916013Z               "line": 193
2026-06-06T06:01:02.4916428Z             },
2026-06-06T06:01:02.4916827Z             {
2026-06-06T06:01:02.4917469Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:01:02.4917904Z               "line": 201
2026-06-06T06:01:02.4918321Z             },
2026-06-06T06:01:02.4918909Z             {
2026-06-06T06:01:02.4919612Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:01:02.4920063Z               "line": 210
2026-06-06T06:01:02.4920470Z             },
2026-06-06T06:01:02.4920884Z             {
2026-06-06T06:01:02.4921520Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-06T06:01:02.4921966Z               "line": 219
2026-06-06T06:01:02.4922380Z             }
2026-06-06T06:01:02.4926985Z           ]
2026-06-06T06:01:02.4927501Z         }
2026-06-06T06:01:02.4927907Z       }
2026-06-06T06:01:02.4928311Z     },
2026-06-06T06:01:02.4928711Z     {
2026-06-06T06:01:02.4929403Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-06T06:01:02.4930315Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-06T06:01:02.4930796Z       "requiredStages": [
2026-06-06T06:01:02.4931219Z         "impl",
2026-06-06T06:01:02.4931627Z         "unit"
2026-06-06T06:01:02.4932039Z       ],
2026-06-06T06:01:02.4932462Z       "stages": {
2026-06-06T06:01:02.4932906Z         "doc": {
2026-06-06T06:01:02.4933361Z           "complete": false,
2026-06-06T06:01:02.4933811Z           "evidence": []
2026-06-06T06:01:02.4934219Z         },
2026-06-06T06:01:02.4934632Z         "impl": {
2026-06-06T06:01:02.4935087Z           "complete": true,
2026-06-06T06:01:02.4935524Z           "evidence": [
2026-06-06T06:01:02.4935939Z             {
2026-06-06T06:01:02.4936523Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:01:02.4936956Z               "line": 14
2026-06-06T06:01:02.4937370Z             },
2026-06-06T06:01:02.4937774Z             {
2026-06-06T06:01:02.4938347Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:01:02.4938783Z               "line": 62
2026-06-06T06:01:02.4939227Z             }
2026-06-06T06:01:02.4939634Z           ]
2026-06-06T06:01:02.4940048Z         },
2026-06-06T06:01:02.4940468Z         "int": {
2026-06-06T06:01:02.4940928Z           "complete": false,
2026-06-06T06:01:02.4941380Z           "evidence": []
2026-06-06T06:01:02.4941792Z         },
2026-06-06T06:01:02.4942211Z         "unit": {
2026-06-06T06:01:02.4942668Z           "complete": true,
2026-06-06T06:01:02.4943111Z           "evidence": [
2026-06-06T06:01:02.4943520Z             {
2026-06-06T06:01:02.4944087Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:01:02.4944528Z               "line": 160
2026-06-06T06:01:02.4944942Z             },
2026-06-06T06:01:02.4945352Z             {
2026-06-06T06:01:02.4945912Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:01:02.4946353Z               "line": 197
2026-06-06T06:01:02.4946765Z             },
2026-06-06T06:01:02.4947166Z             {
2026-06-06T06:01:02.4947732Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:01:02.4948173Z               "line": 213
2026-06-06T06:01:02.4948584Z             }
2026-06-06T06:01:02.4948985Z           ]
2026-06-06T06:01:02.4949445Z         }
2026-06-06T06:01:02.4949852Z       }
2026-06-06T06:01:02.4950265Z     },
2026-06-06T06:01:02.4950673Z     {
2026-06-06T06:01:02.4951268Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-06T06:01:02.4952518Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-06T06:01:02.4952986Z       "requiredStages": [
2026-06-06T06:01:02.4953410Z         "impl",
2026-06-06T06:01:02.4953820Z         "unit"
2026-06-06T06:01:02.4954502Z       ],
2026-06-06T06:01:02.4954935Z       "stages": {
2026-06-06T06:01:02.4955343Z         "doc": {
2026-06-06T06:01:02.4955806Z           "complete": false,
2026-06-06T06:01:02.4956251Z           "evidence": []
2026-06-06T06:01:02.4956658Z         },
2026-06-06T06:01:02.4957084Z         "impl": {
2026-06-06T06:01:02.4957534Z           "complete": true,
2026-06-06T06:01:02.4957973Z           "evidence": [
2026-06-06T06:01:02.4958377Z             {
2026-06-06T06:01:02.4958976Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:01:02.4959448Z               "line": 76
2026-06-06T06:01:02.4960051Z             },
2026-06-06T06:01:02.4960468Z             {
2026-06-06T06:01:02.4961077Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:01:02.4961526Z               "line": 163
2026-06-06T06:01:02.4961933Z             },
2026-06-06T06:01:02.4962344Z             {
2026-06-06T06:01:02.4962935Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:01:02.4963395Z               "line": 229
2026-06-06T06:01:02.4963810Z             },
2026-06-06T06:01:02.4964210Z             {
2026-06-06T06:01:02.4964822Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:01:02.4965257Z               "line": 265
2026-06-06T06:01:02.4965668Z             }
2026-06-06T06:01:02.4966080Z           ]
2026-06-06T06:01:02.4966479Z         },
2026-06-06T06:01:02.4966896Z         "int": {
2026-06-06T06:01:02.4967361Z           "complete": false,
2026-06-06T06:01:02.4967815Z           "evidence": []
2026-06-06T06:01:02.4968214Z         },
2026-06-06T06:01:02.4968634Z         "unit": {
2026-06-06T06:01:02.4969104Z           "complete": true,
2026-06-06T06:01:02.4969602Z           "evidence": [
2026-06-06T06:01:02.4970020Z             {
2026-06-06T06:01:02.4970612Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:01:02.4971060Z               "line": 310
2026-06-06T06:01:02.4971464Z             },
2026-06-06T06:01:02.4971870Z             {
2026-06-06T06:01:02.4972481Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:01:02.4972918Z               "line": 318
2026-06-06T06:01:02.4973333Z             },
2026-06-06T06:01:02.4973739Z             {
2026-06-06T06:01:02.4974340Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:01:02.4974773Z               "line": 341
2026-06-06T06:01:02.4975184Z             },
2026-06-06T06:01:02.4975590Z             {
2026-06-06T06:01:02.4976181Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:01:02.4976622Z               "line": 378
2026-06-06T06:01:02.4977027Z             },
2026-06-06T06:01:02.4977452Z             {
2026-06-06T06:01:02.4978043Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:01:02.4978485Z               "line": 389
2026-06-06T06:01:02.4978896Z             },
2026-06-06T06:01:02.4979322Z             {
2026-06-06T06:01:02.4979925Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:01:02.4980362Z               "line": 401
2026-06-06T06:01:02.4980786Z             },
2026-06-06T06:01:02.4981187Z             {
2026-06-06T06:01:02.4981784Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-06T06:01:02.4982226Z               "line": 413
2026-06-06T06:01:02.4982630Z             }
2026-06-06T06:01:02.4983038Z           ]
2026-06-06T06:01:02.4983439Z         }
2026-06-06T06:01:02.4983844Z       }
2026-06-06T06:01:02.4984243Z     },
2026-06-06T06:01:02.4984645Z     {
2026-06-06T06:01:02.4985166Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-06T06:01:02.4985946Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-06T06:01:02.4986423Z       "requiredStages": [
2026-06-06T06:01:02.4986832Z         "impl",
2026-06-06T06:01:02.4987242Z         "int"
2026-06-06T06:01:02.4987637Z       ],
2026-06-06T06:01:02.4988051Z       "stages": {
2026-06-06T06:01:02.4988457Z         "doc": {
2026-06-06T06:01:02.4988902Z           "complete": false,
2026-06-06T06:01:02.4989379Z           "evidence": []
2026-06-06T06:01:02.4989950Z         },
2026-06-06T06:01:02.4990371Z         "impl": {
2026-06-06T06:01:02.4990818Z           "complete": true,
2026-06-06T06:01:02.4991251Z           "evidence": [
2026-06-06T06:01:02.4991655Z             {
2026-06-06T06:01:02.4992261Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:01:02.4992697Z               "line": 22
2026-06-06T06:01:02.4993098Z             }
2026-06-06T06:01:02.4993510Z           ]
2026-06-06T06:01:02.4993907Z         },
2026-06-06T06:01:02.4994320Z         "int": {
2026-06-06T06:01:02.4994775Z           "complete": true,
2026-06-06T06:01:02.4995215Z           "evidence": [
2026-06-06T06:01:02.4995764Z             {
2026-06-06T06:01:02.4996419Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-06T06:01:02.4996860Z               "line": 18
2026-06-06T06:01:02.4997263Z             }
2026-06-06T06:01:02.4997674Z           ]
2026-06-06T06:01:02.4998084Z         },
2026-06-06T06:01:02.4998494Z         "unit": {
2026-06-06T06:01:02.4998980Z           "complete": false,
2026-06-06T06:01:02.4999466Z           "evidence": []
2026-06-06T06:01:02.4999882Z         }
2026-06-06T06:01:02.5000276Z       }
2026-06-06T06:01:02.5000682Z     },
2026-06-06T06:01:02.5001082Z     {
2026-06-06T06:01:02.5001671Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-06T06:01:02.5006704Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-06T06:01:02.5007292Z       "requiredStages": [
2026-06-06T06:01:02.5007722Z         "impl",
2026-06-06T06:01:02.5008127Z         "unit"
2026-06-06T06:01:02.5008533Z       ],
2026-06-06T06:01:02.5008994Z       "stages": {
2026-06-06T06:01:02.5009489Z         "doc": {
2026-06-06T06:01:02.5009961Z           "complete": false,
2026-06-06T06:01:02.5010405Z           "evidence": []
2026-06-06T06:01:02.5010811Z         },
2026-06-06T06:01:02.5011224Z         "impl": {
2026-06-06T06:01:02.5011684Z           "complete": true,
2026-06-06T06:01:02.5012125Z           "evidence": [
2026-06-06T06:01:02.5012540Z             {
2026-06-06T06:01:02.5013206Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.5013642Z               "line": 348
2026-06-06T06:01:02.5014051Z             },
2026-06-06T06:01:02.5014449Z             {
2026-06-06T06:01:02.5015064Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:01:02.5015508Z               "line": 27
2026-06-06T06:01:02.5015909Z             }
2026-06-06T06:01:02.5016316Z           ]
2026-06-06T06:01:02.5016715Z         },
2026-06-06T06:01:02.5017129Z         "int": {
2026-06-06T06:01:02.5017584Z           "complete": false,
2026-06-06T06:01:02.5018044Z           "evidence": []
2026-06-06T06:01:02.5018453Z         },
2026-06-06T06:01:02.5018865Z         "unit": {
2026-06-06T06:01:02.5019365Z           "complete": true,
2026-06-06T06:01:02.5019805Z           "evidence": [
2026-06-06T06:01:02.5020218Z             {
2026-06-06T06:01:02.5020868Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.5021324Z               "line": 753
2026-06-06T06:01:02.5021741Z             },
2026-06-06T06:01:02.5022139Z             {
2026-06-06T06:01:02.5022747Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:01:02.5023182Z               "line": 164
2026-06-06T06:01:02.5023595Z             }
2026-06-06T06:01:02.5023993Z           ]
2026-06-06T06:01:02.5024401Z         }
2026-06-06T06:01:02.5024802Z       }
2026-06-06T06:01:02.5025195Z     },
2026-06-06T06:01:02.5025596Z     {
2026-06-06T06:01:02.5026183Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-06T06:01:02.5027085Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-06T06:01:02.5027561Z       "requiredStages": [
2026-06-06T06:01:02.5027981Z         "impl",
2026-06-06T06:01:02.5028396Z         "unit"
2026-06-06T06:01:02.5028801Z       ],
2026-06-06T06:01:02.5029267Z       "stages": {
2026-06-06T06:01:02.5029674Z         "doc": {
2026-06-06T06:01:02.5030143Z           "complete": false,
2026-06-06T06:01:02.5030847Z           "evidence": []
2026-06-06T06:01:02.5031253Z         },
2026-06-06T06:01:02.5031674Z         "impl": {
2026-06-06T06:01:02.5032124Z           "complete": true,
2026-06-06T06:01:02.5032568Z           "evidence": [
2026-06-06T06:01:02.5032972Z             {
2026-06-06T06:01:02.5033589Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-06T06:01:02.5034015Z               "line": 20
2026-06-06T06:01:02.5034419Z             },
2026-06-06T06:01:02.5034817Z             {
2026-06-06T06:01:02.5035415Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-06T06:01:02.5035844Z               "line": 94
2026-06-06T06:01:02.5036386Z             },
2026-06-06T06:01:02.5036791Z             {
2026-06-06T06:01:02.5037440Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-06T06:01:02.5037878Z               "line": 70
2026-06-06T06:01:02.5038292Z             },
2026-06-06T06:01:02.5038694Z             {
2026-06-06T06:01:02.5039389Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-06T06:01:02.5039840Z               "line": 82
2026-06-06T06:01:02.5040249Z             }
2026-06-06T06:01:02.5040647Z           ]
2026-06-06T06:01:02.5041055Z         },
2026-06-06T06:01:02.5041469Z         "int": {
2026-06-06T06:01:02.5041927Z           "complete": false,
2026-06-06T06:01:02.5042372Z           "evidence": []
2026-06-06T06:01:02.5042775Z         },
2026-06-06T06:01:02.5043193Z         "unit": {
2026-06-06T06:01:02.5043641Z           "complete": true,
2026-06-06T06:01:02.5044088Z           "evidence": [
2026-06-06T06:01:02.5044496Z             {
2026-06-06T06:01:02.5045122Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-06T06:01:02.5045570Z               "line": 139
2026-06-06T06:01:02.5045976Z             },
2026-06-06T06:01:02.5046382Z             {
2026-06-06T06:01:02.5046980Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-06T06:01:02.5047428Z               "line": 162
2026-06-06T06:01:02.5047840Z             },
2026-06-06T06:01:02.5048252Z             {
2026-06-06T06:01:02.5048861Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-06T06:01:02.5049350Z               "line": 173
2026-06-06T06:01:02.5049794Z             },
2026-06-06T06:01:02.5050228Z             {
2026-06-06T06:01:02.5050841Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-06T06:01:02.5051287Z               "line": 189
2026-06-06T06:01:02.5051689Z             },
2026-06-06T06:01:02.5052100Z             {
2026-06-06T06:01:02.5052706Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-06T06:01:02.5053153Z               "line": 200
2026-06-06T06:01:02.5053569Z             },
2026-06-06T06:01:02.5053976Z             {
2026-06-06T06:01:02.5054631Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-06T06:01:02.5055063Z               "line": 139
2026-06-06T06:01:02.5055471Z             }
2026-06-06T06:01:02.5055866Z           ]
2026-06-06T06:01:02.5056275Z         }
2026-06-06T06:01:02.5056674Z       }
2026-06-06T06:01:02.5057096Z     },
2026-06-06T06:01:02.5057495Z     {
2026-06-06T06:01:02.5057994Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-06T06:01:02.5059521Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-06T06:01:02.5059987Z       "requiredStages": [
2026-06-06T06:01:02.5060409Z         "impl",
2026-06-06T06:01:02.5060825Z         "unit"
2026-06-06T06:01:02.5061226Z       ],
2026-06-06T06:01:02.5061650Z       "stages": {
2026-06-06T06:01:02.5062060Z         "doc": {
2026-06-06T06:01:02.5062516Z           "complete": true,
2026-06-06T06:01:02.5062952Z           "evidence": [
2026-06-06T06:01:02.5063370Z             {
2026-06-06T06:01:02.5063915Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-06T06:01:02.5064362Z               "line": 131
2026-06-06T06:01:02.5064771Z             }
2026-06-06T06:01:02.5065170Z           ]
2026-06-06T06:01:02.5065578Z         },
2026-06-06T06:01:02.5065995Z         "impl": {
2026-06-06T06:01:02.5066678Z           "complete": true,
2026-06-06T06:01:02.5067125Z           "evidence": [
2026-06-06T06:01:02.5067541Z             {
2026-06-06T06:01:02.5068122Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:01:02.5068554Z               "line": 65
2026-06-06T06:01:02.5068966Z             },
2026-06-06T06:01:02.5069404Z             {
2026-06-06T06:01:02.5069995Z               "path": "crates/spt-proto/src/id.rs",
2026-06-06T06:01:02.5070434Z               "line": 17
2026-06-06T06:01:02.5070841Z             },
2026-06-06T06:01:02.5071250Z             {
2026-06-06T06:01:02.5071840Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.5072428Z               "line": 212
2026-06-06T06:01:02.5072836Z             },
2026-06-06T06:01:02.5073248Z             {
2026-06-06T06:01:02.5073855Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.5074296Z               "line": 312
2026-06-06T06:01:02.5074709Z             },
2026-06-06T06:01:02.5075118Z             {
2026-06-06T06:01:02.5075725Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:01:02.5076162Z               "line": 32
2026-06-06T06:01:02.5076571Z             },
2026-06-06T06:01:02.5076985Z             {
2026-06-06T06:01:02.5077519Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.5077965Z               "line": 2576
2026-06-06T06:01:02.5078370Z             },
2026-06-06T06:01:02.5078780Z             {
2026-06-06T06:01:02.5079353Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.5079807Z               "line": 2829
2026-06-06T06:01:02.5080223Z             }
2026-06-06T06:01:02.5080631Z           ]
2026-06-06T06:01:02.5081039Z         },
2026-06-06T06:01:02.5081444Z         "int": {
2026-06-06T06:01:02.5081906Z           "complete": false,
2026-06-06T06:01:02.5082341Z           "evidence": []
2026-06-06T06:01:02.5086714Z         },
2026-06-06T06:01:02.5087193Z         "unit": {
2026-06-06T06:01:02.5087650Z           "complete": true,
2026-06-06T06:01:02.5088116Z           "evidence": [
2026-06-06T06:01:02.5088518Z             {
2026-06-06T06:01:02.5089099Z               "path": "crates/spt-proto/src/id.rs",
2026-06-06T06:01:02.5089604Z               "line": 94
2026-06-06T06:01:02.5090020Z             },
2026-06-06T06:01:02.5090419Z             {
2026-06-06T06:01:02.5090985Z               "path": "crates/spt-proto/src/id.rs",
2026-06-06T06:01:02.5091421Z               "line": 111
2026-06-06T06:01:02.5091821Z             },
2026-06-06T06:01:02.5092222Z             {
2026-06-06T06:01:02.5092782Z               "path": "crates/spt-proto/src/id.rs",
2026-06-06T06:01:02.5093218Z               "line": 124
2026-06-06T06:01:02.5093634Z             },
2026-06-06T06:01:02.5094024Z             {
2026-06-06T06:01:02.5094586Z               "path": "crates/spt-proto/src/id.rs",
2026-06-06T06:01:02.5095015Z               "line": 134
2026-06-06T06:01:02.5095422Z             },
2026-06-06T06:01:02.5095812Z             {
2026-06-06T06:01:02.5096379Z               "path": "crates/spt-proto/src/id.rs",
2026-06-06T06:01:02.5096827Z               "line": 142
2026-06-06T06:01:02.5097223Z             },
2026-06-06T06:01:02.5097628Z             {
2026-06-06T06:01:02.5098188Z               "path": "crates/spt-proto/src/id.rs",
2026-06-06T06:01:02.5098623Z               "line": 154
2026-06-06T06:01:02.5099022Z             },
2026-06-06T06:01:02.5099462Z             {
2026-06-06T06:01:02.5100152Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.5100580Z               "line": 645
2026-06-06T06:01:02.5100983Z             }
2026-06-06T06:01:02.5101376Z           ]
2026-06-06T06:01:02.5101784Z         }
2026-06-06T06:01:02.5102174Z       }
2026-06-06T06:01:02.5102572Z     },
2026-06-06T06:01:02.5102964Z     {
2026-06-06T06:01:02.5103482Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-06T06:01:02.5104173Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-06T06:01:02.5104626Z       "requiredStages": [
2026-06-06T06:01:02.5105039Z         "impl",
2026-06-06T06:01:02.5105682Z         "unit"
2026-06-06T06:01:02.5106086Z       ],
2026-06-06T06:01:02.5106510Z       "stages": {
2026-06-06T06:01:02.5106906Z         "doc": {
2026-06-06T06:01:02.5107360Z           "complete": false,
2026-06-06T06:01:02.5107793Z           "evidence": []
2026-06-06T06:01:02.5108197Z         },
2026-06-06T06:01:02.5108606Z         "impl": {
2026-06-06T06:01:02.5109056Z           "complete": true,
2026-06-06T06:01:02.5109533Z           "evidence": [
2026-06-06T06:01:02.5109934Z             {
2026-06-06T06:01:02.5110534Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:01:02.5111109Z               "line": 128
2026-06-06T06:01:02.5111518Z             }
2026-06-06T06:01:02.5111914Z           ]
2026-06-06T06:01:02.5112323Z         },
2026-06-06T06:01:02.5112733Z         "int": {
2026-06-06T06:01:02.5113186Z           "complete": false,
2026-06-06T06:01:02.5113621Z           "evidence": []
2026-06-06T06:01:02.5114011Z         },
2026-06-06T06:01:02.5114425Z         "unit": {
2026-06-06T06:01:02.5114877Z           "complete": true,
2026-06-06T06:01:02.5115304Z           "evidence": [
2026-06-06T06:01:02.5115705Z             {
2026-06-06T06:01:02.5116290Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:01:02.5116726Z               "line": 205
2026-06-06T06:01:02.5117115Z             }
2026-06-06T06:01:02.5117513Z           ]
2026-06-06T06:01:02.5117901Z         }
2026-06-06T06:01:02.5118295Z       }
2026-06-06T06:01:02.5118684Z     },
2026-06-06T06:01:02.5119067Z     {
2026-06-06T06:01:02.5119676Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-06T06:01:02.5120511Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-06T06:01:02.5120985Z       "requiredStages": [
2026-06-06T06:01:02.5121395Z         "impl",
2026-06-06T06:01:02.5121809Z         "unit"
2026-06-06T06:01:02.5122215Z       ],
2026-06-06T06:01:02.5122629Z       "stages": {
2026-06-06T06:01:02.5123047Z         "doc": {
2026-06-06T06:01:02.5123508Z           "complete": false,
2026-06-06T06:01:02.5123968Z           "evidence": []
2026-06-06T06:01:02.5124369Z         },
2026-06-06T06:01:02.5124797Z         "impl": {
2026-06-06T06:01:02.5125252Z           "complete": true,
2026-06-06T06:01:02.5125686Z           "evidence": [
2026-06-06T06:01:02.5126092Z             {
2026-06-06T06:01:02.5126678Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.5127121Z               "line": 231
2026-06-06T06:01:02.5127527Z             },
2026-06-06T06:01:02.5127933Z             {
2026-06-06T06:01:02.5128525Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.5128974Z               "line": 242
2026-06-06T06:01:02.5129421Z             },
2026-06-06T06:01:02.5129823Z             {
2026-06-06T06:01:02.5130408Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.5130848Z               "line": 260
2026-06-06T06:01:02.5131270Z             }
2026-06-06T06:01:02.5131678Z           ]
2026-06-06T06:01:02.5132082Z         },
2026-06-06T06:01:02.5132506Z         "int": {
2026-06-06T06:01:02.5132962Z           "complete": false,
2026-06-06T06:01:02.5133410Z           "evidence": []
2026-06-06T06:01:02.5133811Z         },
2026-06-06T06:01:02.5134226Z         "unit": {
2026-06-06T06:01:02.5134686Z           "complete": true,
2026-06-06T06:01:02.5135124Z           "evidence": [
2026-06-06T06:01:02.5135533Z             {
2026-06-06T06:01:02.5136115Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.5136553Z               "line": 284
2026-06-06T06:01:02.5136954Z             },
2026-06-06T06:01:02.5137358Z             {
2026-06-06T06:01:02.5137952Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.5138388Z               "line": 302
2026-06-06T06:01:02.5138799Z             },
2026-06-06T06:01:02.5139229Z             {
2026-06-06T06:01:02.5139820Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.5140251Z               "line": 467
2026-06-06T06:01:02.5140664Z             },
2026-06-06T06:01:02.5141250Z             {
2026-06-06T06:01:02.5141836Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.5142278Z               "line": 478
2026-06-06T06:01:02.5142677Z             },
2026-06-06T06:01:02.5143087Z             {
2026-06-06T06:01:02.5143665Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.5144107Z               "line": 491
2026-06-06T06:01:02.5144521Z             }
2026-06-06T06:01:02.5144925Z           ]
2026-06-06T06:01:02.5145331Z         }
2026-06-06T06:01:02.5145726Z       }
2026-06-06T06:01:02.5146129Z     },
2026-06-06T06:01:02.5146666Z     {
2026-06-06T06:01:02.5147205Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-06T06:01:02.5148460Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-06T06:01:02.5148931Z       "requiredStages": [
2026-06-06T06:01:02.5149392Z         "impl",
2026-06-06T06:01:02.5149807Z         "unit"
2026-06-06T06:01:02.5150214Z       ],
2026-06-06T06:01:02.5150646Z       "stages": {
2026-06-06T06:01:02.5151063Z         "doc": {
2026-06-06T06:01:02.5151523Z           "complete": false,
2026-06-06T06:01:02.5151962Z           "evidence": []
2026-06-06T06:01:02.5152375Z         },
2026-06-06T06:01:02.5152791Z         "impl": {
2026-06-06T06:01:02.5153253Z           "complete": true,
2026-06-06T06:01:02.5153685Z           "evidence": [
2026-06-06T06:01:02.5154096Z             {
2026-06-06T06:01:02.5154666Z               "path": "crates/spt/src/api/auth.rs",
2026-06-06T06:01:02.5155099Z               "line": 14
2026-06-06T06:01:02.5155511Z             },
2026-06-06T06:01:02.5155922Z             {
2026-06-06T06:01:02.5156486Z               "path": "crates/spt/src/api/mod.rs",
2026-06-06T06:01:02.5156932Z               "line": 372
2026-06-06T06:01:02.5157336Z             }
2026-06-06T06:01:02.5157754Z           ]
2026-06-06T06:01:02.5158159Z         },
2026-06-06T06:01:02.5158574Z         "int": {
2026-06-06T06:01:02.5159031Z           "complete": false,
2026-06-06T06:01:02.5159537Z           "evidence": []
2026-06-06T06:01:02.5159940Z         },
2026-06-06T06:01:02.5160368Z         "unit": {
2026-06-06T06:01:02.5164687Z           "complete": true,
2026-06-06T06:01:02.5165229Z           "evidence": [
2026-06-06T06:01:02.5165643Z             {
2026-06-06T06:01:02.5166222Z               "path": "crates/spt/src/api/auth.rs",
2026-06-06T06:01:02.5166664Z               "line": 130
2026-06-06T06:01:02.5167064Z             },
2026-06-06T06:01:02.5167477Z             {
2026-06-06T06:01:02.5168051Z               "path": "crates/spt/src/api/auth.rs",
2026-06-06T06:01:02.5168483Z               "line": 138
2026-06-06T06:01:02.5168921Z             },
2026-06-06T06:01:02.5169404Z             {
2026-06-06T06:01:02.5169987Z               "path": "crates/spt/src/api/auth.rs",
2026-06-06T06:01:02.5170426Z               "line": 146
2026-06-06T06:01:02.5170833Z             },
2026-06-06T06:01:02.5171244Z             {
2026-06-06T06:01:02.5171801Z               "path": "crates/spt/src/api/auth.rs",
2026-06-06T06:01:02.5172252Z               "line": 154
2026-06-06T06:01:02.5172655Z             },
2026-06-06T06:01:02.5173064Z             {
2026-06-06T06:01:02.5173633Z               "path": "crates/spt/src/api/auth.rs",
2026-06-06T06:01:02.5174070Z               "line": 162
2026-06-06T06:01:02.5174477Z             },
2026-06-06T06:01:02.5174873Z             {
2026-06-06T06:01:02.5175442Z               "path": "crates/spt/src/api/auth.rs",
2026-06-06T06:01:02.5175881Z               "line": 170
2026-06-06T06:01:02.5176288Z             }
2026-06-06T06:01:02.5176692Z           ]
2026-06-06T06:01:02.5177091Z         }
2026-06-06T06:01:02.5177515Z       }
2026-06-06T06:01:02.5177904Z     },
2026-06-06T06:01:02.5178303Z     {
2026-06-06T06:01:02.5178840Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-06T06:01:02.5184293Z       "title": "Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)",
2026-06-06T06:01:02.5185066Z       "requiredStages": [
2026-06-06T06:01:02.5185487Z         "impl",
2026-06-06T06:01:02.5185905Z         "unit"
2026-06-06T06:01:02.5186299Z       ],
2026-06-06T06:01:02.5186720Z       "stages": {
2026-06-06T06:01:02.5187125Z         "doc": {
2026-06-06T06:01:02.5187592Z           "complete": false,
2026-06-06T06:01:02.5188036Z           "evidence": []
2026-06-06T06:01:02.5188432Z         },
2026-06-06T06:01:02.5188849Z         "impl": {
2026-06-06T06:01:02.5189341Z           "complete": true,
2026-06-06T06:01:02.5189943Z           "evidence": [
2026-06-06T06:01:02.5190344Z             {
2026-06-06T06:01:02.5191115Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-06T06:01:02.5191559Z               "line": 34
2026-06-06T06:01:02.5191965Z             }
2026-06-06T06:01:02.5192374Z           ]
2026-06-06T06:01:02.5192774Z         },
2026-06-06T06:01:02.5193251Z         "int": {
2026-06-06T06:01:02.5193823Z           "complete": false,
2026-06-06T06:01:02.5194328Z           "evidence": []
2026-06-06T06:01:02.5194743Z         },
2026-06-06T06:01:02.5195157Z         "unit": {
2026-06-06T06:01:02.5195618Z           "complete": true,
2026-06-06T06:01:02.5196053Z           "evidence": [
2026-06-06T06:01:02.5196464Z             {
2026-06-06T06:01:02.5197238Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-06T06:01:02.5197679Z               "line": 188
2026-06-06T06:01:02.5198090Z             },
2026-06-06T06:01:02.5198490Z             {
2026-06-06T06:01:02.5199339Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-06T06:01:02.5199815Z               "line": 200
2026-06-06T06:01:02.5200275Z             },
2026-06-06T06:01:02.5200679Z             {
2026-06-06T06:01:02.5201428Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-06T06:01:02.5201871Z               "line": 211
2026-06-06T06:01:02.5202287Z             },
2026-06-06T06:01:02.5202692Z             {
2026-06-06T06:01:02.5203437Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-06T06:01:02.5203883Z               "line": 245
2026-06-06T06:01:02.5204291Z             },
2026-06-06T06:01:02.5204689Z             {
2026-06-06T06:01:02.5205447Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-06T06:01:02.5205883Z               "line": 267
2026-06-06T06:01:02.5206299Z             },
2026-06-06T06:01:02.5206701Z             {
2026-06-06T06:01:02.5207465Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-06T06:01:02.5207914Z               "line": 288
2026-06-06T06:01:02.5208324Z             },
2026-06-06T06:01:02.5208737Z             {
2026-06-06T06:01:02.5209529Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-06T06:01:02.5209975Z               "line": 304
2026-06-06T06:01:02.5210374Z             }
2026-06-06T06:01:02.5210795Z           ]
2026-06-06T06:01:02.5211208Z         }
2026-06-06T06:01:02.5211604Z       }
2026-06-06T06:01:02.5212005Z     },
2026-06-06T06:01:02.5212397Z     {
2026-06-06T06:01:02.5212963Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-06T06:01:02.5216417Z       "title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)",
2026-06-06T06:01:02.5216911Z       "requiredStages": [
2026-06-06T06:01:02.5217338Z         "impl",
2026-06-06T06:01:02.5217749Z         "unit"
2026-06-06T06:01:02.5218173Z       ],
2026-06-06T06:01:02.5218593Z       "stages": {
2026-06-06T06:01:02.5219014Z         "doc": {
2026-06-06T06:01:02.5219529Z           "complete": false,
2026-06-06T06:01:02.5219979Z           "evidence": []
2026-06-06T06:01:02.5220391Z         },
2026-06-06T06:01:02.5220807Z         "impl": {
2026-06-06T06:01:02.5221265Z           "complete": true,
2026-06-06T06:01:02.5221958Z           "evidence": [
2026-06-06T06:01:02.5222371Z             {
2026-06-06T06:01:02.5222994Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:01:02.5223435Z               "line": 29
2026-06-06T06:01:02.5223855Z             },
2026-06-06T06:01:02.5224265Z             {
2026-06-06T06:01:02.5224876Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:01:02.5225312Z               "line": 154
2026-06-06T06:01:02.5225729Z             },
2026-06-06T06:01:02.5226143Z             {
2026-06-06T06:01:02.5226751Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:01:02.5227346Z               "line": 173
2026-06-06T06:01:02.5227756Z             },
2026-06-06T06:01:02.5228166Z             {
2026-06-06T06:01:02.5228769Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:01:02.5229274Z               "line": 200
2026-06-06T06:01:02.5229690Z             }
2026-06-06T06:01:02.5230097Z           ]
2026-06-06T06:01:02.5230521Z         },
2026-06-06T06:01:02.5230935Z         "int": {
2026-06-06T06:01:02.5231407Z           "complete": false,
2026-06-06T06:01:02.5231850Z           "evidence": []
2026-06-06T06:01:02.5232263Z         },
2026-06-06T06:01:02.5232688Z         "unit": {
2026-06-06T06:01:02.5233153Z           "complete": true,
2026-06-06T06:01:02.5233601Z           "evidence": [
2026-06-06T06:01:02.5234009Z             {
2026-06-06T06:01:02.5234622Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:01:02.5235061Z               "line": 276
2026-06-06T06:01:02.5235478Z             },
2026-06-06T06:01:02.5235901Z             {
2026-06-06T06:01:02.5236531Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:01:02.5236977Z               "line": 291
2026-06-06T06:01:02.5237385Z             },
2026-06-06T06:01:02.5237793Z             {
2026-06-06T06:01:02.5238405Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:01:02.5238857Z               "line": 310
2026-06-06T06:01:02.5239333Z             },
2026-06-06T06:01:02.5239746Z             {
2026-06-06T06:01:02.5240356Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:01:02.5240795Z               "line": 326
2026-06-06T06:01:02.5241215Z             },
2026-06-06T06:01:02.5241632Z             {
2026-06-06T06:01:02.5242248Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:01:02.5242695Z               "line": 376
2026-06-06T06:01:02.5243100Z             },
2026-06-06T06:01:02.5243510Z             {
2026-06-06T06:01:02.5244113Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:01:02.5244573Z               "line": 390
2026-06-06T06:01:02.5244986Z             },
2026-06-06T06:01:02.5245401Z             {
2026-06-06T06:01:02.5246020Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:01:02.5246467Z               "line": 401
2026-06-06T06:01:02.5246885Z             },
2026-06-06T06:01:02.5247295Z             {
2026-06-06T06:01:02.5247908Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:01:02.5248370Z               "line": 412
2026-06-06T06:01:02.5248793Z             }
2026-06-06T06:01:02.5253512Z           ]
2026-06-06T06:01:02.5254009Z         }
2026-06-06T06:01:02.5254422Z       }
2026-06-06T06:01:02.5254827Z     },
2026-06-06T06:01:02.5255231Z     {
2026-06-06T06:01:02.5255853Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-06T06:01:02.5259925Z       "title": "Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)",
2026-06-06T06:01:02.5260465Z       "requiredStages": [
2026-06-06T06:01:02.5260883Z         "impl",
2026-06-06T06:01:02.5261298Z         "unit"
2026-06-06T06:01:02.5261704Z       ],
2026-06-06T06:01:02.5262136Z       "stages": {
2026-06-06T06:01:02.5262546Z         "doc": {
2026-06-06T06:01:02.5263004Z           "complete": false,
2026-06-06T06:01:02.5263451Z           "evidence": []
2026-06-06T06:01:02.5264121Z         },
2026-06-06T06:01:02.5264543Z         "impl": {
2026-06-06T06:01:02.5264986Z           "complete": true,
2026-06-06T06:01:02.5265423Z           "evidence": [
2026-06-06T06:01:02.5265830Z             {
2026-06-06T06:01:02.5266536Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:01:02.5266972Z               "line": 27
2026-06-06T06:01:02.5267372Z             },
2026-06-06T06:01:02.5267784Z             {
2026-06-06T06:01:02.5268494Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:01:02.5268939Z               "line": 110
2026-06-06T06:01:02.5269572Z             },
2026-06-06T06:01:02.5269977Z             {
2026-06-06T06:01:02.5270682Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:01:02.5271118Z               "line": 153
2026-06-06T06:01:02.5271532Z             },
2026-06-06T06:01:02.5271933Z             {
2026-06-06T06:01:02.5272646Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:01:02.5273109Z               "line": 182
2026-06-06T06:01:02.5273525Z             },
2026-06-06T06:01:02.5273941Z             {
2026-06-06T06:01:02.5274734Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:01:02.5275180Z               "line": 31
2026-06-06T06:01:02.5275589Z             },
2026-06-06T06:01:02.5276011Z             {
2026-06-06T06:01:02.5276803Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:01:02.5277246Z               "line": 113
2026-06-06T06:01:02.5277666Z             },
2026-06-06T06:01:02.5278088Z             {
2026-06-06T06:01:02.5278881Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:01:02.5279367Z               "line": 138
2026-06-06T06:01:02.5279785Z             }
2026-06-06T06:01:02.5280196Z           ]
2026-06-06T06:01:02.5280602Z         },
2026-06-06T06:01:02.5281025Z         "int": {
2026-06-06T06:01:02.5281486Z           "complete": false,
2026-06-06T06:01:02.5281953Z           "evidence": []
2026-06-06T06:01:02.5282368Z         },
2026-06-06T06:01:02.5282792Z         "unit": {
2026-06-06T06:01:02.5283257Z           "complete": true,
2026-06-06T06:01:02.5283697Z           "evidence": [
2026-06-06T06:01:02.5284115Z             {
2026-06-06T06:01:02.5284826Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:01:02.5285281Z               "line": 261
2026-06-06T06:01:02.5285702Z             },
2026-06-06T06:01:02.5286111Z             {
2026-06-06T06:01:02.5286823Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:01:02.5287281Z               "line": 276
2026-06-06T06:01:02.5287697Z             },
2026-06-06T06:01:02.5288105Z             {
2026-06-06T06:01:02.5288822Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:01:02.5289308Z               "line": 293
2026-06-06T06:01:02.5289721Z             },
2026-06-06T06:01:02.5290141Z             {
2026-06-06T06:01:02.5290862Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:01:02.5291313Z               "line": 310
2026-06-06T06:01:02.5291727Z             },
2026-06-06T06:01:02.5292145Z             {
2026-06-06T06:01:02.5292853Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:01:02.5293291Z               "line": 327
2026-06-06T06:01:02.5293704Z             },
2026-06-06T06:01:02.5294111Z             {
2026-06-06T06:01:02.5294817Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:01:02.5295260Z               "line": 366
2026-06-06T06:01:02.5295692Z             },
2026-06-06T06:01:02.5296109Z             {
2026-06-06T06:01:02.5296894Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:01:02.5297350Z               "line": 179
2026-06-06T06:01:02.5297767Z             },
2026-06-06T06:01:02.5298178Z             {
2026-06-06T06:01:02.5298958Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:01:02.5299626Z               "line": 194
2026-06-06T06:01:02.5300051Z             },
2026-06-06T06:01:02.5300460Z             {
2026-06-06T06:01:02.5301247Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:01:02.5301701Z               "line": 204
2026-06-06T06:01:02.5302321Z             },
2026-06-06T06:01:02.5302809Z             {
2026-06-06T06:01:02.5303763Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:01:02.5304305Z               "line": 259
2026-06-06T06:01:02.5304790Z             },
2026-06-06T06:01:02.5305258Z             {
2026-06-06T06:01:02.5306379Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:01:02.5306874Z               "line": 269
2026-06-06T06:01:02.5307334Z             },
2026-06-06T06:01:02.5307783Z             {
2026-06-06T06:01:02.5308664Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:01:02.5309137Z               "line": 283
2026-06-06T06:01:02.5309839Z             }
2026-06-06T06:01:02.5310265Z           ]
2026-06-06T06:01:02.5310716Z         }
2026-06-06T06:01:02.5311143Z       }
2026-06-06T06:01:02.5311585Z     },
2026-06-06T06:01:02.5312050Z     {
2026-06-06T06:01:02.5312663Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-06T06:01:02.5313839Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-06T06:01:02.5314367Z       "requiredStages": [],
2026-06-06T06:01:02.5314824Z       "stages": {
2026-06-06T06:01:02.5315265Z         "doc": {
2026-06-06T06:01:02.5315752Z           "complete": false,
2026-06-06T06:01:02.5316264Z           "evidence": []
2026-06-06T06:01:02.5316718Z         },
2026-06-06T06:01:02.5317180Z         "impl": {
2026-06-06T06:01:02.5317699Z           "complete": false,
2026-06-06T06:01:02.5318195Z           "evidence": []
2026-06-06T06:01:02.5318628Z         },
2026-06-06T06:01:02.5319090Z         "int": {
2026-06-06T06:01:02.5319970Z           "complete": false,
2026-06-06T06:01:02.5320475Z           "evidence": []
2026-06-06T06:01:02.5320918Z         },
2026-06-06T06:01:02.5321414Z         "unit": {
2026-06-06T06:01:02.5322091Z           "complete": false,
2026-06-06T06:01:02.5322639Z           "evidence": []
2026-06-06T06:01:02.5323138Z         }
2026-06-06T06:01:02.5323607Z       }
2026-06-06T06:01:02.5324067Z     },
2026-06-06T06:01:02.5324513Z     {
2026-06-06T06:01:02.5325210Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-06T06:01:02.5337190Z       "title": "Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)",
2026-06-06T06:01:02.5337807Z       "requiredStages": [
2026-06-06T06:01:02.5338229Z         "impl",
2026-06-06T06:01:02.5338630Z         "unit"
2026-06-06T06:01:02.5339033Z       ],
2026-06-06T06:01:02.5339738Z       "stages": {
2026-06-06T06:01:02.5340211Z         "doc": {
2026-06-06T06:01:02.5340684Z           "complete": false,
2026-06-06T06:01:02.5341131Z           "evidence": []
2026-06-06T06:01:02.5341546Z         },
2026-06-06T06:01:02.5341965Z         "impl": {
2026-06-06T06:01:02.5342433Z           "complete": true,
2026-06-06T06:01:02.5342869Z           "evidence": [
2026-06-06T06:01:02.5343287Z             {
2026-06-06T06:01:02.5343952Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:01:02.5344393Z               "line": 26
2026-06-06T06:01:02.5344816Z             },
2026-06-06T06:01:02.5345221Z             {
2026-06-06T06:01:02.5345920Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:01:02.5346362Z               "line": 93
2026-06-06T06:01:02.5353126Z             },
2026-06-06T06:01:02.5353626Z             {
2026-06-06T06:01:02.5354277Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:01:02.5354718Z               "line": 162
2026-06-06T06:01:02.5355113Z             },
2026-06-06T06:01:02.5355967Z             {
2026-06-06T06:01:02.5356592Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-06T06:01:02.5357028Z               "line": 19
2026-06-06T06:01:02.5357435Z             },
2026-06-06T06:01:02.5357829Z             {
2026-06-06T06:01:02.5358450Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-06T06:01:02.5358881Z               "line": 50
2026-06-06T06:01:02.5359360Z             },
2026-06-06T06:01:02.5359764Z             {
2026-06-06T06:01:02.5360337Z               "path": "crates/spt-live/src/turn.rs",
2026-06-06T06:01:02.5360770Z               "line": 18
2026-06-06T06:01:02.5361337Z             },
2026-06-06T06:01:02.5361741Z             {
2026-06-06T06:01:02.5362305Z               "path": "crates/spt-live/src/turn.rs",
2026-06-06T06:01:02.5362739Z               "line": 65
2026-06-06T06:01:02.5363131Z             },
2026-06-06T06:01:02.5363532Z             {
2026-06-06T06:01:02.5364126Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:01:02.5364565Z               "line": 70
2026-06-06T06:01:02.5364966Z             }
2026-06-06T06:01:02.5365356Z           ]
2026-06-06T06:01:02.5365756Z         },
2026-06-06T06:01:02.5366153Z         "int": {
2026-06-06T06:01:02.5366612Z           "complete": false,
2026-06-06T06:01:02.5367051Z           "evidence": []
2026-06-06T06:01:02.5367441Z         },
2026-06-06T06:01:02.5367851Z         "unit": {
2026-06-06T06:01:02.5368290Z           "complete": true,
2026-06-06T06:01:02.5368721Z           "evidence": [
2026-06-06T06:01:02.5369115Z             {
2026-06-06T06:01:02.5369813Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:01:02.5370270Z               "line": 280
2026-06-06T06:01:02.5370666Z             },
2026-06-06T06:01:02.5371069Z             {
2026-06-06T06:01:02.5371700Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:01:02.5372133Z               "line": 299
2026-06-06T06:01:02.5372527Z             },
2026-06-06T06:01:02.5372943Z             {
2026-06-06T06:01:02.5373578Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:01:02.5374007Z               "line": 327
2026-06-06T06:01:02.5374407Z             },
2026-06-06T06:01:02.5374800Z             {
2026-06-06T06:01:02.5375433Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:01:02.5375858Z               "line": 376
2026-06-06T06:01:02.5376265Z             },
2026-06-06T06:01:02.5376664Z             {
2026-06-06T06:01:02.5377294Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:01:02.5377733Z               "line": 387
2026-06-06T06:01:02.5378140Z             },
2026-06-06T06:01:02.5378541Z             {
2026-06-06T06:01:02.5379198Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:01:02.5379743Z               "line": 418
2026-06-06T06:01:02.5380151Z             },
2026-06-06T06:01:02.5380548Z             {
2026-06-06T06:01:02.5381184Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:01:02.5381625Z               "line": 429
2026-06-06T06:01:02.5382032Z             },
2026-06-06T06:01:02.5382435Z             {
2026-06-06T06:01:02.5383051Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-06T06:01:02.5383485Z               "line": 77
2026-06-06T06:01:02.5383882Z             },
2026-06-06T06:01:02.5384285Z             {
2026-06-06T06:01:02.5384891Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-06T06:01:02.5385321Z               "line": 95
2026-06-06T06:01:02.5385730Z             },
2026-06-06T06:01:02.5386125Z             {
2026-06-06T06:01:02.5386746Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-06T06:01:02.5387184Z               "line": 106
2026-06-06T06:01:02.5387592Z             },
2026-06-06T06:01:02.5387982Z             {
2026-06-06T06:01:02.5388605Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-06T06:01:02.5389041Z               "line": 117
2026-06-06T06:01:02.5389538Z             },
2026-06-06T06:01:02.5390132Z             {
2026-06-06T06:01:02.5390745Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-06T06:01:02.5391190Z               "line": 124
2026-06-06T06:01:02.5391585Z             },
2026-06-06T06:01:02.5391997Z             {
2026-06-06T06:01:02.5392624Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-06T06:01:02.5393055Z               "line": 137
2026-06-06T06:01:02.5393466Z             },
2026-06-06T06:01:02.5393859Z             {
2026-06-06T06:01:02.5394433Z               "path": "crates/spt-live/src/turn.rs",
2026-06-06T06:01:02.5394864Z               "line": 106
2026-06-06T06:01:02.5395415Z             },
2026-06-06T06:01:02.5395825Z             {
2026-06-06T06:01:02.5396391Z               "path": "crates/spt-live/src/turn.rs",
2026-06-06T06:01:02.5396832Z               "line": 118
2026-06-06T06:01:02.5397234Z             },
2026-06-06T06:01:02.5397632Z             {
2026-06-06T06:01:02.5398219Z               "path": "crates/spt-proto/src/event.rs",
2026-06-06T06:01:02.5398675Z               "line": 336
2026-06-06T06:01:02.5399081Z             }
2026-06-06T06:01:02.5399517Z           ]
2026-06-06T06:01:02.5399923Z         }
2026-06-06T06:01:02.5400321Z       }
2026-06-06T06:01:02.5400724Z     },
2026-06-06T06:01:02.5401114Z     {
2026-06-06T06:01:02.5401695Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-06T06:01:02.5403196Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-06T06:01:02.5403658Z       "requiredStages": [
2026-06-06T06:01:02.5404072Z         "impl",
2026-06-06T06:01:02.5404469Z         "unit"
2026-06-06T06:01:02.5404883Z       ],
2026-06-06T06:01:02.5405294Z       "stages": {
2026-06-06T06:01:02.5405705Z         "doc": {
2026-06-06T06:01:02.5406167Z           "complete": true,
2026-06-06T06:01:02.5406591Z           "evidence": [
2026-06-06T06:01:02.5407000Z             {
2026-06-06T06:01:02.5407535Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-06T06:01:02.5407984Z               "line": 137
2026-06-06T06:01:02.5408381Z             }
2026-06-06T06:01:02.5408789Z           ]
2026-06-06T06:01:02.5409229Z         },
2026-06-06T06:01:02.5409643Z         "impl": {
2026-06-06T06:01:02.5410103Z           "complete": true,
2026-06-06T06:01:02.5410531Z           "evidence": [
2026-06-06T06:01:02.5410935Z             {
2026-06-06T06:01:02.5411489Z               "path": "crates/spt-store/src/db.rs",
2026-06-06T06:01:02.5411933Z               "line": 29
2026-06-06T06:01:02.5412344Z             },
2026-06-06T06:01:02.5412740Z             {
2026-06-06T06:01:02.5413333Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:01:02.5413777Z               "line": 101
2026-06-06T06:01:02.5414186Z             },
2026-06-06T06:01:02.5414581Z             {
2026-06-06T06:01:02.5415210Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:01:02.5415646Z               "line": 30
2026-06-06T06:01:02.5416043Z             },
2026-06-06T06:01:02.5416451Z             {
2026-06-06T06:01:02.5417052Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.5417486Z               "line": 48
2026-06-06T06:01:02.5417892Z             }
2026-06-06T06:01:02.5418292Z           ]
2026-06-06T06:01:02.5418696Z         },
2026-06-06T06:01:02.5419103Z         "int": {
2026-06-06T06:01:02.5419610Z           "complete": false,
2026-06-06T06:01:02.5420042Z           "evidence": []
2026-06-06T06:01:02.5420444Z         },
2026-06-06T06:01:02.5420847Z         "unit": {
2026-06-06T06:01:02.5421302Z           "complete": true,
2026-06-06T06:01:02.5421738Z           "evidence": [
2026-06-06T06:01:02.5422144Z             {
2026-06-06T06:01:02.5422771Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:01:02.5423211Z               "line": 152
2026-06-06T06:01:02.5423633Z             }
2026-06-06T06:01:02.5424040Z           ]
2026-06-06T06:01:02.5424445Z         }
2026-06-06T06:01:02.5424850Z       }
2026-06-06T06:01:02.5425235Z     },
2026-06-06T06:01:02.5425830Z     {
2026-06-06T06:01:02.5426398Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-06T06:01:02.5428550Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-06T06:01:02.5429033Z       "requiredStages": [
2026-06-06T06:01:02.5429487Z         "doc",
2026-06-06T06:01:02.5429905Z         "impl",
2026-06-06T06:01:02.5430311Z         "unit"
2026-06-06T06:01:02.5435526Z       ],
2026-06-06T06:01:02.5436051Z       "stages": {
2026-06-06T06:01:02.5436473Z         "doc": {
2026-06-06T06:01:02.5436935Z           "complete": true,
2026-06-06T06:01:02.5437645Z           "evidence": [
2026-06-06T06:01:02.5438055Z             {
2026-06-06T06:01:02.5438602Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-06T06:01:02.5439046Z               "line": 149
2026-06-06T06:01:02.5439529Z             }
2026-06-06T06:01:02.5439938Z           ]
2026-06-06T06:01:02.5440344Z         },
2026-06-06T06:01:02.5440764Z         "impl": {
2026-06-06T06:01:02.5441260Z           "complete": true,
2026-06-06T06:01:02.5441689Z           "evidence": [
2026-06-06T06:01:02.5442092Z             {
2026-06-06T06:01:02.5442722Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:01:02.5443160Z               "line": 22
2026-06-06T06:01:02.5443566Z             }
2026-06-06T06:01:02.5443965Z           ]
2026-06-06T06:01:02.5444369Z         },
2026-06-06T06:01:02.5444775Z         "int": {
2026-06-06T06:01:02.5445237Z           "complete": false,
2026-06-06T06:01:02.5445669Z           "evidence": []
2026-06-06T06:01:02.5446073Z         },
2026-06-06T06:01:02.5446489Z         "unit": {
2026-06-06T06:01:02.5446949Z           "complete": true,
2026-06-06T06:01:02.5447385Z           "evidence": [
2026-06-06T06:01:02.5447781Z             {
2026-06-06T06:01:02.5448408Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:01:02.5448842Z               "line": 257
2026-06-06T06:01:02.5449286Z             }
2026-06-06T06:01:02.5449707Z           ]
2026-06-06T06:01:02.5450096Z         }
2026-06-06T06:01:02.5450497Z       }
2026-06-06T06:01:02.5450884Z     },
2026-06-06T06:01:02.5451281Z     {
2026-06-06T06:01:02.5451872Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-06T06:01:02.5454329Z       "title": "Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)",
2026-06-06T06:01:02.5454807Z       "requiredStages": [
2026-06-06T06:01:02.5455213Z         "impl",
2026-06-06T06:01:02.5455618Z         "unit"
2026-06-06T06:01:02.5456015Z       ],
2026-06-06T06:01:02.5456461Z       "stages": {
2026-06-06T06:01:02.5456861Z         "doc": {
2026-06-06T06:01:02.5457314Z           "complete": true,
2026-06-06T06:01:02.5457750Z           "evidence": [
2026-06-06T06:01:02.5458145Z             {
2026-06-06T06:01:02.5458690Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-06T06:01:02.5459118Z               "line": 143
2026-06-06T06:01:02.5459558Z             }
2026-06-06T06:01:02.5459983Z           ]
2026-06-06T06:01:02.5460388Z         },
2026-06-06T06:01:02.5460803Z         "impl": {
2026-06-06T06:01:02.5461244Z           "complete": true,
2026-06-06T06:01:02.5461676Z           "evidence": [
2026-06-06T06:01:02.5462060Z             {
2026-06-06T06:01:02.5462699Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.5463126Z               "line": 172
2026-06-06T06:01:02.5463532Z             },
2026-06-06T06:01:02.5463942Z             {
2026-06-06T06:01:02.5464522Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-06T06:01:02.5464960Z               "line": 15
2026-06-06T06:01:02.5465366Z             }
2026-06-06T06:01:02.5465765Z           ]
2026-06-06T06:01:02.5466155Z         },
2026-06-06T06:01:02.5466573Z         "int": {
2026-06-06T06:01:02.5467026Z           "complete": false,
2026-06-06T06:01:02.5467462Z           "evidence": []
2026-06-06T06:01:02.5467862Z         },
2026-06-06T06:01:02.5468266Z         "unit": {
2026-06-06T06:01:02.5468954Z           "complete": true,
2026-06-06T06:01:02.5469427Z           "evidence": [
2026-06-06T06:01:02.5469837Z             {
2026-06-06T06:01:02.5470516Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-06T06:01:02.5470939Z               "line": 87
2026-06-06T06:01:02.5471346Z             },
2026-06-06T06:01:02.5471743Z             {
2026-06-06T06:01:02.5472382Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.5472812Z               "line": 644
2026-06-06T06:01:02.5473216Z             },
2026-06-06T06:01:02.5473621Z             {
2026-06-06T06:01:02.5474403Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.5474841Z               "line": 663
2026-06-06T06:01:02.5475236Z             },
2026-06-06T06:01:02.5475642Z             {
2026-06-06T06:01:02.5476289Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-06T06:01:02.5476728Z               "line": 148
2026-06-06T06:01:02.5477136Z             },
2026-06-06T06:01:02.5477544Z             {
2026-06-06T06:01:02.5478140Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-06T06:01:02.5478563Z               "line": 74
2026-06-06T06:01:02.5478976Z             },
2026-06-06T06:01:02.5479409Z             {
2026-06-06T06:01:02.5480007Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-06T06:01:02.5480440Z               "line": 88
2026-06-06T06:01:02.5480837Z             },
2026-06-06T06:01:02.5481238Z             {
2026-06-06T06:01:02.5481822Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-06T06:01:02.5482265Z               "line": 104
2026-06-06T06:01:02.5482673Z             }
2026-06-06T06:01:02.5483080Z           ]
2026-06-06T06:01:02.5483481Z         }
2026-06-06T06:01:02.5483871Z       }
2026-06-06T06:01:02.5484271Z     },
2026-06-06T06:01:02.5484664Z     {
2026-06-06T06:01:02.5485252Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-06T06:01:02.5486325Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-06T06:01:02.5486805Z       "requiredStages": [
2026-06-06T06:01:02.5487219Z         "impl",
2026-06-06T06:01:02.5487625Z         "unit"
2026-06-06T06:01:02.5488027Z       ],
2026-06-06T06:01:02.5488438Z       "stages": {
2026-06-06T06:01:02.5488848Z         "doc": {
2026-06-06T06:01:02.5489330Z           "complete": false,
2026-06-06T06:01:02.5489775Z           "evidence": []
2026-06-06T06:01:02.5490173Z         },
2026-06-06T06:01:02.5490576Z         "impl": {
2026-06-06T06:01:02.5491029Z           "complete": true,
2026-06-06T06:01:02.5491459Z           "evidence": [
2026-06-06T06:01:02.5491875Z             {
2026-06-06T06:01:02.5492454Z               "path": "crates/spt-store/src/proc.rs",
2026-06-06T06:01:02.5492890Z               "line": 15
2026-06-06T06:01:02.5493302Z             },
2026-06-06T06:01:02.5493699Z             {
2026-06-06T06:01:02.5494329Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:01:02.5494756Z               "line": 55
2026-06-06T06:01:02.5495174Z             },
2026-06-06T06:01:02.5495567Z             {
2026-06-06T06:01:02.5496192Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:01:02.5496624Z               "line": 62
2026-06-06T06:01:02.5497015Z             },
2026-06-06T06:01:02.5497412Z             {
2026-06-06T06:01:02.5498032Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:01:02.5498471Z               "line": 107
2026-06-06T06:01:02.5498879Z             },
2026-06-06T06:01:02.5499304Z             {
2026-06-06T06:01:02.5499931Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:01:02.5500371Z               "line": 128
2026-06-06T06:01:02.5500777Z             }
2026-06-06T06:01:02.5501172Z           ]
2026-06-06T06:01:02.5501573Z         },
2026-06-06T06:01:02.5501980Z         "int": {
2026-06-06T06:01:02.5502431Z           "complete": false,
2026-06-06T06:01:02.5502871Z           "evidence": []
2026-06-06T06:01:02.5503266Z         },
2026-06-06T06:01:02.5503874Z         "unit": {
2026-06-06T06:01:02.5504331Z           "complete": true,
2026-06-06T06:01:02.5504765Z           "evidence": [
2026-06-06T06:01:02.5505172Z             {
2026-06-06T06:01:02.5505757Z               "path": "crates/spt-store/src/proc.rs",
2026-06-06T06:01:02.5506199Z               "line": 145
2026-06-06T06:01:02.5506593Z             },
2026-06-06T06:01:02.5506997Z             {
2026-06-06T06:01:02.5507583Z               "path": "crates/spt-store/src/proc.rs",
2026-06-06T06:01:02.5508021Z               "line": 151
2026-06-06T06:01:02.5508430Z             },
2026-06-06T06:01:02.5508824Z             {
2026-06-06T06:01:02.5509588Z               "path": "crates/spt-store/src/proc.rs",
2026-06-06T06:01:02.5510021Z               "line": 162
2026-06-06T06:01:02.5510427Z             },
2026-06-06T06:01:02.5510824Z             {
2026-06-06T06:01:02.5511406Z               "path": "crates/spt-store/src/proc.rs",
2026-06-06T06:01:02.5516176Z               "line": 171
2026-06-06T06:01:02.5516709Z             },
2026-06-06T06:01:02.5517116Z             {
2026-06-06T06:01:02.5517752Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:01:02.5518192Z               "line": 183
2026-06-06T06:01:02.5518590Z             },
2026-06-06T06:01:02.5518996Z             {
2026-06-06T06:01:02.5519726Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:01:02.5520493Z               "line": 193
2026-06-06T06:01:02.5521106Z             },
2026-06-06T06:01:02.5521602Z             {
2026-06-06T06:01:02.5522343Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:01:02.5522973Z               "line": 237
2026-06-06T06:01:02.5523378Z             },
2026-06-06T06:01:02.5523779Z             {
2026-06-06T06:01:02.5524402Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:01:02.5524846Z               "line": 249
2026-06-06T06:01:02.5525255Z             },
2026-06-06T06:01:02.5526015Z             {
2026-06-06T06:01:02.5526638Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:01:02.5527100Z               "line": 275
2026-06-06T06:01:02.5527505Z             }
2026-06-06T06:01:02.5527893Z           ]
2026-06-06T06:01:02.5528296Z         }
2026-06-06T06:01:02.5528682Z       }
2026-06-06T06:01:02.5529072Z     },
2026-06-06T06:01:02.5529512Z     {
2026-06-06T06:01:02.5530091Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-06T06:01:02.5531682Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-06T06:01:02.5532145Z       "requiredStages": [
2026-06-06T06:01:02.5532559Z         "impl",
2026-06-06T06:01:02.5532972Z         "unit",
2026-06-06T06:01:02.5533381Z         "int"
2026-06-06T06:01:02.5533772Z       ],
2026-06-06T06:01:02.5534192Z       "stages": {
2026-06-06T06:01:02.5534604Z         "doc": {
2026-06-06T06:01:02.5535057Z           "complete": false,
2026-06-06T06:01:02.5535492Z           "evidence": []
2026-06-06T06:01:02.5535888Z         },
2026-06-06T06:01:02.5536314Z         "impl": {
2026-06-06T06:01:02.5536765Z           "complete": true,
2026-06-06T06:01:02.5537195Z           "evidence": [
2026-06-06T06:01:02.5537600Z             {
2026-06-06T06:01:02.5538198Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:01:02.5538636Z               "line": 249
2026-06-06T06:01:02.5539032Z             },
2026-06-06T06:01:02.5539476Z             {
2026-06-06T06:01:02.5540069Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:01:02.5540508Z               "line": 544
2026-06-06T06:01:02.5540916Z             },
2026-06-06T06:01:02.5541306Z             {
2026-06-06T06:01:02.5541921Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:01:02.5542351Z               "line": 567
2026-06-06T06:01:02.5542752Z             },
2026-06-06T06:01:02.5543148Z             {
2026-06-06T06:01:02.5543752Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:01:02.5544188Z               "line": 591
2026-06-06T06:01:02.5544927Z             },
2026-06-06T06:01:02.5545338Z             {
2026-06-06T06:01:02.5545966Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:01:02.5546404Z               "line": 477
2026-06-06T06:01:02.5546815Z             },
2026-06-06T06:01:02.5547208Z             {
2026-06-06T06:01:02.5547831Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:01:02.5548261Z               "line": 558
2026-06-06T06:01:02.5548671Z             },
2026-06-06T06:01:02.5549065Z             {
2026-06-06T06:01:02.5549732Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:01:02.5550316Z               "line": 660
2026-06-06T06:01:02.5550719Z             },
2026-06-06T06:01:02.5551128Z             {
2026-06-06T06:01:02.5551741Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:01:02.5552182Z               "line": 703
2026-06-06T06:01:02.5552581Z             },
2026-06-06T06:01:02.5552982Z             {
2026-06-06T06:01:02.5553611Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-06T06:01:02.5554050Z               "line": 46
2026-06-06T06:01:02.5554457Z             },
2026-06-06T06:01:02.5554850Z             {
2026-06-06T06:01:02.5555477Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-06T06:01:02.5555904Z               "line": 160
2026-06-06T06:01:02.5556320Z             },
2026-06-06T06:01:02.5556720Z             {
2026-06-06T06:01:02.5557292Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-06T06:01:02.5557727Z               "line": 71
2026-06-06T06:01:02.5558123Z             },
2026-06-06T06:01:02.5558524Z             {
2026-06-06T06:01:02.5559119Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.5559595Z               "line": 128
2026-06-06T06:01:02.5560003Z             },
2026-06-06T06:01:02.5560403Z             {
2026-06-06T06:01:02.5560994Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.5561425Z               "line": 174
2026-06-06T06:01:02.5561845Z             }
2026-06-06T06:01:02.5562238Z           ]
2026-06-06T06:01:02.5562636Z         },
2026-06-06T06:01:02.5563045Z         "int": {
2026-06-06T06:01:02.5563490Z           "complete": true,
2026-06-06T06:01:02.5563933Z           "evidence": [
2026-06-06T06:01:02.5564333Z             {
2026-06-06T06:01:02.5565029Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-06T06:01:02.5565457Z               "line": 27
2026-06-06T06:01:02.5565862Z             },
2026-06-06T06:01:02.5566266Z             {
2026-06-06T06:01:02.5566932Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-06T06:01:02.5567377Z               "line": 125
2026-06-06T06:01:02.5567777Z             },
2026-06-06T06:01:02.5568188Z             {
2026-06-06T06:01:02.5568856Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-06T06:01:02.5569333Z               "line": 189
2026-06-06T06:01:02.5569736Z             }
2026-06-06T06:01:02.5570132Z           ]
2026-06-06T06:01:02.5570547Z         },
2026-06-06T06:01:02.5570955Z         "unit": {
2026-06-06T06:01:02.5571415Z           "complete": true,
2026-06-06T06:01:02.5571849Z           "evidence": [
2026-06-06T06:01:02.5572251Z             {
2026-06-06T06:01:02.5572868Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-06T06:01:02.5573298Z               "line": 282
2026-06-06T06:01:02.5573702Z             },
2026-06-06T06:01:02.5574097Z             {
2026-06-06T06:01:02.5574722Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-06T06:01:02.5575152Z               "line": 300
2026-06-06T06:01:02.5575558Z             },
2026-06-06T06:01:02.5575970Z             {
2026-06-06T06:01:02.5576587Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-06T06:01:02.5577026Z               "line": 318
2026-06-06T06:01:02.5577425Z             },
2026-06-06T06:01:02.5577832Z             {
2026-06-06T06:01:02.5578476Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-06T06:01:02.5578902Z               "line": 221
2026-06-06T06:01:02.5579507Z             },
2026-06-06T06:01:02.5579904Z             {
2026-06-06T06:01:02.5580538Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-06T06:01:02.5580981Z               "line": 204
2026-06-06T06:01:02.5581389Z             },
2026-06-06T06:01:02.5581788Z             {
2026-06-06T06:01:02.5582398Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-06T06:01:02.5582834Z               "line": 182
2026-06-06T06:01:02.5583232Z             },
2026-06-06T06:01:02.5583631Z             {
2026-06-06T06:01:02.5584209Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.5584788Z               "line": 441
2026-06-06T06:01:02.5585203Z             },
2026-06-06T06:01:02.5585605Z             {
2026-06-06T06:01:02.5586201Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.5586630Z               "line": 465
2026-06-06T06:01:02.5587031Z             }
2026-06-06T06:01:02.5587424Z           ]
2026-06-06T06:01:02.5587839Z         }
2026-06-06T06:01:02.5588237Z       }
2026-06-06T06:01:02.5588626Z     },
2026-06-06T06:01:02.5589022Z     {
2026-06-06T06:01:02.5589650Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-06T06:01:02.5590708Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-06T06:01:02.5591171Z       "requiredStages": [
2026-06-06T06:01:02.5591586Z         "impl",
2026-06-06T06:01:02.5591997Z         "unit"
2026-06-06T06:01:02.5592384Z       ],
2026-06-06T06:01:02.5592805Z       "stages": {
2026-06-06T06:01:02.5593205Z         "doc": {
2026-06-06T06:01:02.5593668Z           "complete": false,
2026-06-06T06:01:02.5594114Z           "evidence": []
2026-06-06T06:01:02.5599377Z         },
2026-06-06T06:01:02.5599904Z         "impl": {
2026-06-06T06:01:02.5600582Z           "complete": true,
2026-06-06T06:01:02.5601095Z           "evidence": [
2026-06-06T06:01:02.5601543Z             {
2026-06-06T06:01:02.5602427Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.5602901Z               "line": 56
2026-06-06T06:01:02.5603310Z             },
2026-06-06T06:01:02.5603717Z             {
2026-06-06T06:01:02.5604395Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.5605137Z               "line": 65
2026-06-06T06:01:02.5605536Z             },
2026-06-06T06:01:02.5605940Z             {
2026-06-06T06:01:02.5606612Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.5607049Z               "line": 72
2026-06-06T06:01:02.5607455Z             },
2026-06-06T06:01:02.5607857Z             {
2026-06-06T06:01:02.5608471Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5608895Z               "line": 33
2026-06-06T06:01:02.5609362Z             },
2026-06-06T06:01:02.5609764Z             {
2026-06-06T06:01:02.5610364Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5610805Z               "line": 61
2026-06-06T06:01:02.5611207Z             },
2026-06-06T06:01:02.5611622Z             {
2026-06-06T06:01:02.5612209Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5612649Z               "line": 70
2026-06-06T06:01:02.5613050Z             },
2026-06-06T06:01:02.5613456Z             {
2026-06-06T06:01:02.5614058Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5614482Z               "line": 79
2026-06-06T06:01:02.5614884Z             },
2026-06-06T06:01:02.5615284Z             {
2026-06-06T06:01:02.5615881Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5616309Z               "line": 88
2026-06-06T06:01:02.5616732Z             },
2026-06-06T06:01:02.5617136Z             {
2026-06-06T06:01:02.5617725Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5618157Z               "line": 97
2026-06-06T06:01:02.5618558Z             },
2026-06-06T06:01:02.5618962Z             {
2026-06-06T06:01:02.5619595Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5620394Z               "line": 105
2026-06-06T06:01:02.5620809Z             },
2026-06-06T06:01:02.5621215Z             {
2026-06-06T06:01:02.5621815Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5622253Z               "line": 114
2026-06-06T06:01:02.5622668Z             },
2026-06-06T06:01:02.5623074Z             {
2026-06-06T06:01:02.5623662Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5624103Z               "line": 123
2026-06-06T06:01:02.5624504Z             },
2026-06-06T06:01:02.5624907Z             {
2026-06-06T06:01:02.5625498Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5626087Z               "line": 130
2026-06-06T06:01:02.5626499Z             },
2026-06-06T06:01:02.5626895Z             {
2026-06-06T06:01:02.5627497Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5627928Z               "line": 137
2026-06-06T06:01:02.5628335Z             },
2026-06-06T06:01:02.5628749Z             {
2026-06-06T06:01:02.5629408Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5629850Z               "line": 145
2026-06-06T06:01:02.5630248Z             },
2026-06-06T06:01:02.5630661Z             {
2026-06-06T06:01:02.5631253Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5631694Z               "line": 154
2026-06-06T06:01:02.5632092Z             },
2026-06-06T06:01:02.5632498Z             {
2026-06-06T06:01:02.5633097Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5633528Z               "line": 163
2026-06-06T06:01:02.5633943Z             },
2026-06-06T06:01:02.5634343Z             {
2026-06-06T06:01:02.5634941Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5635375Z               "line": 172
2026-06-06T06:01:02.5635782Z             },
2026-06-06T06:01:02.5636184Z             {
2026-06-06T06:01:02.5636768Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5637217Z               "line": 184
2026-06-06T06:01:02.5637620Z             },
2026-06-06T06:01:02.5638022Z             {
2026-06-06T06:01:02.5638613Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5639057Z               "line": 191
2026-06-06T06:01:02.5639510Z             },
2026-06-06T06:01:02.5639922Z             {
2026-06-06T06:01:02.5640523Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5640954Z               "line": 200
2026-06-06T06:01:02.5641361Z             },
2026-06-06T06:01:02.5641755Z             {
2026-06-06T06:01:02.5642356Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5642808Z               "line": 207
2026-06-06T06:01:02.5643204Z             },
2026-06-06T06:01:02.5643609Z             {
2026-06-06T06:01:02.5644199Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5644639Z               "line": 274
2026-06-06T06:01:02.5645047Z             },
2026-06-06T06:01:02.5645457Z             {
2026-06-06T06:01:02.5646058Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5646495Z               "line": 286
2026-06-06T06:01:02.5646906Z             },
2026-06-06T06:01:02.5647304Z             {
2026-06-06T06:01:02.5647902Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5648346Z               "line": 373
2026-06-06T06:01:02.5648745Z             }
2026-06-06T06:01:02.5649148Z           ]
2026-06-06T06:01:02.5649579Z         },
2026-06-06T06:01:02.5649994Z         "int": {
2026-06-06T06:01:02.5650448Z           "complete": false,
2026-06-06T06:01:02.5650903Z           "evidence": []
2026-06-06T06:01:02.5651303Z         },
2026-06-06T06:01:02.5651705Z         "unit": {
2026-06-06T06:01:02.5652158Z           "complete": true,
2026-06-06T06:01:02.5652581Z           "evidence": [
2026-06-06T06:01:02.5652993Z             {
2026-06-06T06:01:02.5653583Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5654016Z               "line": 443
2026-06-06T06:01:02.5654610Z             },
2026-06-06T06:01:02.5655005Z             {
2026-06-06T06:01:02.5655605Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5656042Z               "line": 469
2026-06-06T06:01:02.5656448Z             },
2026-06-06T06:01:02.5656842Z             {
2026-06-06T06:01:02.5657446Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5657886Z               "line": 482
2026-06-06T06:01:02.5658284Z             },
2026-06-06T06:01:02.5658682Z             {
2026-06-06T06:01:02.5659309Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5659891Z               "line": 547
2026-06-06T06:01:02.5660291Z             }
2026-06-06T06:01:02.5660693Z           ]
2026-06-06T06:01:02.5661089Z         }
2026-06-06T06:01:02.5661477Z       }
2026-06-06T06:01:02.5661876Z     },
2026-06-06T06:01:02.5662272Z     {
2026-06-06T06:01:02.5662800Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-06T06:01:02.5663893Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-06T06:01:02.5664381Z       "requiredStages": [
2026-06-06T06:01:02.5664799Z         "impl",
2026-06-06T06:01:02.5665199Z         "unit"
2026-06-06T06:01:02.5665602Z       ],
2026-06-06T06:01:02.5666013Z       "stages": {
2026-06-06T06:01:02.5666424Z         "doc": {
2026-06-06T06:01:02.5666878Z           "complete": false,
2026-06-06T06:01:02.5667319Z           "evidence": []
2026-06-06T06:01:02.5667728Z         },
2026-06-06T06:01:02.5668140Z         "impl": {
2026-06-06T06:01:02.5668597Z           "complete": true,
2026-06-06T06:01:02.5669031Z           "evidence": [
2026-06-06T06:01:02.5669485Z             {
2026-06-06T06:01:02.5670054Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:01:02.5670494Z               "line": 132
2026-06-06T06:01:02.5670904Z             },
2026-06-06T06:01:02.5671302Z             {
2026-06-06T06:01:02.5671928Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.5672375Z               "line": 145
2026-06-06T06:01:02.5672783Z             }
2026-06-06T06:01:02.5673175Z           ]
2026-06-06T06:01:02.5673584Z         },
2026-06-06T06:01:02.5673998Z         "int": {
2026-06-06T06:01:02.5674456Z           "complete": false,
2026-06-06T06:01:02.5674903Z           "evidence": []
2026-06-06T06:01:02.5675308Z         },
2026-06-06T06:01:02.5680975Z         "unit": {
2026-06-06T06:01:02.5681545Z           "complete": true,
2026-06-06T06:01:02.5681993Z           "evidence": [
2026-06-06T06:01:02.5682400Z             {
2026-06-06T06:01:02.5682979Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:01:02.5683452Z               "line": 250
2026-06-06T06:01:02.5683852Z             },
2026-06-06T06:01:02.5684254Z             {
2026-06-06T06:01:02.5684879Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.5685322Z               "line": 512
2026-06-06T06:01:02.5685734Z             },
2026-06-06T06:01:02.5686136Z             {
2026-06-06T06:01:02.5686779Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.5687218Z               "line": 522
2026-06-06T06:01:02.5687630Z             }
2026-06-06T06:01:02.5688030Z           ]
2026-06-06T06:01:02.5688437Z         }
2026-06-06T06:01:02.5688845Z       }
2026-06-06T06:01:02.5689303Z     },
2026-06-06T06:01:02.5689706Z     {
2026-06-06T06:01:02.5690243Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-06T06:01:02.5690962Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-06T06:01:02.5691428Z       "requiredStages": [
2026-06-06T06:01:02.5691854Z         "impl",
2026-06-06T06:01:02.5692279Z         "unit"
2026-06-06T06:01:02.5692678Z       ],
2026-06-06T06:01:02.5693112Z       "stages": {
2026-06-06T06:01:02.5693521Z         "doc": {
2026-06-06T06:01:02.5693997Z           "complete": false,
2026-06-06T06:01:02.5694442Z           "evidence": []
2026-06-06T06:01:02.5694851Z         },
2026-06-06T06:01:02.5695274Z         "impl": {
2026-06-06T06:01:02.5695986Z           "complete": true,
2026-06-06T06:01:02.5696435Z           "evidence": [
2026-06-06T06:01:02.5696846Z             {
2026-06-06T06:01:02.5697480Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-06T06:01:02.5697913Z               "line": 54
2026-06-06T06:01:02.5698330Z             },
2026-06-06T06:01:02.5698744Z             {
2026-06-06T06:01:02.5699453Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.5699903Z               "line": 393
2026-06-06T06:01:02.5700313Z             }
2026-06-06T06:01:02.5700728Z           ]
2026-06-06T06:01:02.5701129Z         },
2026-06-06T06:01:02.5701692Z         "int": {
2026-06-06T06:01:02.5702160Z           "complete": false,
2026-06-06T06:01:02.5702602Z           "evidence": []
2026-06-06T06:01:02.5703016Z         },
2026-06-06T06:01:02.5703427Z         "unit": {
2026-06-06T06:01:02.5703890Z           "complete": true,
2026-06-06T06:01:02.5704326Z           "evidence": [
2026-06-06T06:01:02.5704741Z             {
2026-06-06T06:01:02.5705422Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.5705860Z               "line": 425
2026-06-06T06:01:02.5706275Z             }
2026-06-06T06:01:02.5706681Z           ]
2026-06-06T06:01:02.5707091Z         }
2026-06-06T06:01:02.5707490Z       }
2026-06-06T06:01:02.5707894Z     },
2026-06-06T06:01:02.5708294Z     {
2026-06-06T06:01:02.5708898Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-06T06:01:02.5709865Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-06T06:01:02.5710330Z       "requiredStages": [
2026-06-06T06:01:02.5710762Z         "impl",
2026-06-06T06:01:02.5711171Z         "unit"
2026-06-06T06:01:02.5711584Z       ],
2026-06-06T06:01:02.5712004Z       "stages": {
2026-06-06T06:01:02.5712414Z         "doc": {
2026-06-06T06:01:02.5712877Z           "complete": false,
2026-06-06T06:01:02.5713317Z           "evidence": []
2026-06-06T06:01:02.5713729Z         },
2026-06-06T06:01:02.5714141Z         "impl": {
2026-06-06T06:01:02.5714613Z           "complete": true,
2026-06-06T06:01:02.5715058Z           "evidence": [
2026-06-06T06:01:02.5715462Z             {
2026-06-06T06:01:02.5716119Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.5716554Z               "line": 432
2026-06-06T06:01:02.5716969Z             },
2026-06-06T06:01:02.5717370Z             {
2026-06-06T06:01:02.5717979Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:01:02.5718419Z               "line": 28
2026-06-06T06:01:02.5718822Z             }
2026-06-06T06:01:02.5719269Z           ]
2026-06-06T06:01:02.5719681Z         },
2026-06-06T06:01:02.5720107Z         "int": {
2026-06-06T06:01:02.5720567Z           "complete": false,
2026-06-06T06:01:02.5721015Z           "evidence": []
2026-06-06T06:01:02.5721423Z         },
2026-06-06T06:01:02.5721841Z         "unit": {
2026-06-06T06:01:02.5722305Z           "complete": true,
2026-06-06T06:01:02.5722741Z           "evidence": [
2026-06-06T06:01:02.5723161Z             {
2026-06-06T06:01:02.5723763Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:01:02.5724213Z               "line": 200
2026-06-06T06:01:02.5724622Z             }
2026-06-06T06:01:02.5725023Z           ]
2026-06-06T06:01:02.5725437Z         }
2026-06-06T06:01:02.5725837Z       }
2026-06-06T06:01:02.5726245Z     },
2026-06-06T06:01:02.5726642Z     {
2026-06-06T06:01:02.5727187Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-06T06:01:02.5727944Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-06T06:01:02.5728422Z       "requiredStages": [],
2026-06-06T06:01:02.5728870Z       "stages": {
2026-06-06T06:01:02.5729316Z         "doc": {
2026-06-06T06:01:02.5729785Z           "complete": false,
2026-06-06T06:01:02.5730229Z           "evidence": []
2026-06-06T06:01:02.5730640Z         },
2026-06-06T06:01:02.5731065Z         "impl": {
2026-06-06T06:01:02.5731526Z           "complete": false,
2026-06-06T06:01:02.5731965Z           "evidence": []
2026-06-06T06:01:02.5732524Z         },
2026-06-06T06:01:02.5732948Z         "int": {
2026-06-06T06:01:02.5733406Z           "complete": false,
2026-06-06T06:01:02.5733854Z           "evidence": []
2026-06-06T06:01:02.5734287Z         },
2026-06-06T06:01:02.5735188Z         "unit": {
2026-06-06T06:01:02.5735741Z           "complete": false,
2026-06-06T06:01:02.5736384Z           "evidence": []
2026-06-06T06:01:02.5736830Z         }
2026-06-06T06:01:02.5737321Z       }
2026-06-06T06:01:02.5737753Z     },
2026-06-06T06:01:02.5738341Z     {
2026-06-06T06:01:02.5739090Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-06T06:01:02.5740182Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-06T06:01:02.5740662Z       "requiredStages": [
2026-06-06T06:01:02.5741083Z         "impl",
2026-06-06T06:01:02.5741504Z         "unit"
2026-06-06T06:01:02.5741904Z       ],
2026-06-06T06:01:02.5742334Z       "stages": {
2026-06-06T06:01:02.5742749Z         "doc": {
2026-06-06T06:01:02.5743243Z           "complete": false,
2026-06-06T06:01:02.5743695Z           "evidence": []
2026-06-06T06:01:02.5744108Z         },
2026-06-06T06:01:02.5744536Z         "impl": {
2026-06-06T06:01:02.5744991Z           "complete": true,
2026-06-06T06:01:02.5745438Z           "evidence": [
2026-06-06T06:01:02.5745844Z             {
2026-06-06T06:01:02.5746426Z               "path": "crates/spt-live/src/turn.rs",
2026-06-06T06:01:02.5746864Z               "line": 19
2026-06-06T06:01:02.5747282Z             },
2026-06-06T06:01:02.5747699Z             {
2026-06-06T06:01:02.5748341Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:01:02.5748804Z               "line": 325
2026-06-06T06:01:02.5749260Z             },
2026-06-06T06:01:02.5749679Z             {
2026-06-06T06:01:02.5750329Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:01:02.5750776Z               "line": 361
2026-06-06T06:01:02.5751196Z             },
2026-06-06T06:01:02.5751602Z             {
2026-06-06T06:01:02.5752227Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-06T06:01:02.5752661Z               "line": 15
2026-06-06T06:01:02.5753074Z             },
2026-06-06T06:01:02.5753495Z             {
2026-06-06T06:01:02.5754098Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-06T06:01:02.5754545Z               "line": 48
2026-06-06T06:01:02.5754951Z             },
2026-06-06T06:01:02.5755364Z             {
2026-06-06T06:01:02.5755975Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-06T06:01:02.5756419Z               "line": 106
2026-06-06T06:01:02.5761830Z             }
2026-06-06T06:01:02.5762382Z           ]
2026-06-06T06:01:02.5762801Z         },
2026-06-06T06:01:02.5763223Z         "int": {
2026-06-06T06:01:02.5763694Z           "complete": false,
2026-06-06T06:01:02.5764134Z           "evidence": []
2026-06-06T06:01:02.5764540Z         },
2026-06-06T06:01:02.5764961Z         "unit": {
2026-06-06T06:01:02.5765412Z           "complete": true,
2026-06-06T06:01:02.5765865Z           "evidence": [
2026-06-06T06:01:02.5766266Z             {
2026-06-06T06:01:02.5766926Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:01:02.5767361Z               "line": 453
2026-06-06T06:01:02.5767768Z             },
2026-06-06T06:01:02.5768175Z             {
2026-06-06T06:01:02.5768766Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-06T06:01:02.5769272Z               "line": 149
2026-06-06T06:01:02.5769675Z             },
2026-06-06T06:01:02.5770084Z             {
2026-06-06T06:01:02.5770677Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-06T06:01:02.5771131Z               "line": 156
2026-06-06T06:01:02.5771544Z             }
2026-06-06T06:01:02.5771946Z           ]
2026-06-06T06:01:02.5772355Z         }
2026-06-06T06:01:02.5772750Z       }
2026-06-06T06:01:02.5773150Z     },
2026-06-06T06:01:02.5773537Z     {
2026-06-06T06:01:02.5774095Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-06T06:01:02.5774935Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-06T06:01:02.5775663Z       "requiredStages": [
2026-06-06T06:01:02.5776085Z         "impl",
2026-06-06T06:01:02.5776488Z         "unit"
2026-06-06T06:01:02.5776887Z       ],
2026-06-06T06:01:02.5777296Z       "stages": {
2026-06-06T06:01:02.5777712Z         "doc": {
2026-06-06T06:01:02.5778179Z           "complete": false,
2026-06-06T06:01:02.5778622Z           "evidence": []
2026-06-06T06:01:02.5779031Z         },
2026-06-06T06:01:02.5779495Z         "impl": {
2026-06-06T06:01:02.5779964Z           "complete": true,
2026-06-06T06:01:02.5780394Z           "evidence": [
2026-06-06T06:01:02.5780945Z             {
2026-06-06T06:01:02.5781571Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:01:02.5782007Z               "line": 35
2026-06-06T06:01:02.5782424Z             }
2026-06-06T06:01:02.5782827Z           ]
2026-06-06T06:01:02.5783240Z         },
2026-06-06T06:01:02.5783653Z         "int": {
2026-06-06T06:01:02.5784122Z           "complete": false,
2026-06-06T06:01:02.5784587Z           "evidence": []
2026-06-06T06:01:02.5784992Z         },
2026-06-06T06:01:02.5785419Z         "unit": {
2026-06-06T06:01:02.5785879Z           "complete": true,
2026-06-06T06:01:02.5786322Z           "evidence": [
2026-06-06T06:01:02.5786723Z             {
2026-06-06T06:01:02.5787339Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-06T06:01:02.5787788Z               "line": 217
2026-06-06T06:01:02.5788201Z             }
2026-06-06T06:01:02.5788620Z           ]
2026-06-06T06:01:02.5789027Z         }
2026-06-06T06:01:02.5789487Z       }
2026-06-06T06:01:02.5789904Z     },
2026-06-06T06:01:02.5790311Z     {
2026-06-06T06:01:02.5790862Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-06T06:01:02.5792419Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-06T06:01:02.5792902Z       "requiredStages": [
2026-06-06T06:01:02.5793317Z         "impl",
2026-06-06T06:01:02.5793739Z         "unit"
2026-06-06T06:01:02.5794156Z       ],
2026-06-06T06:01:02.5794585Z       "stages": {
2026-06-06T06:01:02.5795012Z         "doc": {
2026-06-06T06:01:02.5795474Z           "complete": false,
2026-06-06T06:01:02.5795928Z           "evidence": []
2026-06-06T06:01:02.5796335Z         },
2026-06-06T06:01:02.5796763Z         "impl": {
2026-06-06T06:01:02.5797220Z           "complete": true,
2026-06-06T06:01:02.5797664Z           "evidence": [
2026-06-06T06:01:02.5798081Z             {
2026-06-06T06:01:02.5798738Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-06T06:01:02.5799236Z               "line": 256
2026-06-06T06:01:02.5799659Z             },
2026-06-06T06:01:02.5800078Z             {
2026-06-06T06:01:02.5800704Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.5801153Z               "line": 275
2026-06-06T06:01:02.5801569Z             },
2026-06-06T06:01:02.5801983Z             {
2026-06-06T06:01:02.5802612Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:01:02.5803065Z               "line": 150
2026-06-06T06:01:02.5803481Z             }
2026-06-06T06:01:02.5803887Z           ]
2026-06-06T06:01:02.5804305Z         },
2026-06-06T06:01:02.5804725Z         "int": {
2026-06-06T06:01:02.5805185Z           "complete": false,
2026-06-06T06:01:02.5805636Z           "evidence": []
2026-06-06T06:01:02.5806041Z         },
2026-06-06T06:01:02.5806467Z         "unit": {
2026-06-06T06:01:02.5806924Z           "complete": true,
2026-06-06T06:01:02.5807367Z           "evidence": [
2026-06-06T06:01:02.5807780Z             {
2026-06-06T06:01:02.5808411Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.5808872Z               "line": 544
2026-06-06T06:01:02.5809309Z             },
2026-06-06T06:01:02.5809729Z             {
2026-06-06T06:01:02.5810357Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.5810815Z               "line": 555
2026-06-06T06:01:02.5811228Z             },
2026-06-06T06:01:02.5811798Z             {
2026-06-06T06:01:02.5812445Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.5812889Z               "line": 571
2026-06-06T06:01:02.5813309Z             },
2026-06-06T06:01:02.5813712Z             {
2026-06-06T06:01:02.5814346Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.5814792Z               "line": 585
2026-06-06T06:01:02.5815196Z             },
2026-06-06T06:01:02.5815612Z             {
2026-06-06T06:01:02.5816291Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-06T06:01:02.5816735Z               "line": 268
2026-06-06T06:01:02.5817270Z             }
2026-06-06T06:01:02.5817688Z           ]
2026-06-06T06:01:02.5818099Z         }
2026-06-06T06:01:02.5818501Z       }
2026-06-06T06:01:02.5818910Z     },
2026-06-06T06:01:02.5819354Z     {
2026-06-06T06:01:02.5819908Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-06T06:01:02.5824814Z       "title": "WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)",
2026-06-06T06:01:02.5825329Z       "requiredStages": [
2026-06-06T06:01:02.5825747Z         "doc",
2026-06-06T06:01:02.5826164Z         "impl",
2026-06-06T06:01:02.5826587Z         "unit"
2026-06-06T06:01:02.5826989Z       ],
2026-06-06T06:01:02.5827419Z       "stages": {
2026-06-06T06:01:02.5827835Z         "doc": {
2026-06-06T06:01:02.5828296Z           "complete": true,
2026-06-06T06:01:02.5828748Z           "evidence": [
2026-06-06T06:01:02.5829235Z             {
2026-06-06T06:01:02.5829801Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-06T06:01:02.5830238Z               "line": 266
2026-06-06T06:01:02.5830660Z             }
2026-06-06T06:01:02.5831074Z           ]
2026-06-06T06:01:02.5831479Z         },
2026-06-06T06:01:02.5831907Z         "impl": {
2026-06-06T06:01:02.5832357Z           "complete": true,
2026-06-06T06:01:02.5832848Z           "evidence": [
2026-06-06T06:01:02.5833258Z             {
2026-06-06T06:01:02.5833891Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-06T06:01:02.5834337Z               "line": 85
2026-06-06T06:01:02.5834747Z             },
2026-06-06T06:01:02.5835159Z             {
2026-06-06T06:01:02.5835777Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-06T06:01:02.5836220Z               "line": 99
2026-06-06T06:01:02.5836628Z             },
2026-06-06T06:01:02.5837042Z             {
2026-06-06T06:01:02.5837688Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:01:02.5838135Z               "line": 55
2026-06-06T06:01:02.5838551Z             },
2026-06-06T06:01:02.5838958Z             {
2026-06-06T06:01:02.5839645Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:01:02.5840081Z               "line": 31
2026-06-06T06:01:02.5840503Z             },
2026-06-06T06:01:02.5840915Z             {
2026-06-06T06:01:02.5841562Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:01:02.5842007Z               "line": 187
2026-06-06T06:01:02.5842420Z             },
2026-06-06T06:01:02.5847280Z             {
2026-06-06T06:01:02.5848032Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:01:02.5848483Z               "line": 89
2026-06-06T06:01:02.5848891Z             },
2026-06-06T06:01:02.5849386Z             {
2026-06-06T06:01:02.5850060Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-06T06:01:02.5850487Z               "line": 29
2026-06-06T06:01:02.5850897Z             },
2026-06-06T06:01:02.5851329Z             {
2026-06-06T06:01:02.5851989Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-06T06:01:02.5852428Z               "line": 75
2026-06-06T06:01:02.5852849Z             },
2026-06-06T06:01:02.5853279Z             {
2026-06-06T06:01:02.5853966Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.5854666Z               "line": 145
2026-06-06T06:01:02.5855079Z             },
2026-06-06T06:01:02.5855478Z             {
2026-06-06T06:01:02.5856126Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-06T06:01:02.5856552Z               "line": 28
2026-06-06T06:01:02.5856957Z             },
2026-06-06T06:01:02.5857356Z             {
2026-06-06T06:01:02.5857999Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-06T06:01:02.5858436Z               "line": 74
2026-06-06T06:01:02.5858839Z             },
2026-06-06T06:01:02.5859294Z             {
2026-06-06T06:01:02.5859883Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:01:02.5860462Z               "line": 40
2026-06-06T06:01:02.5860865Z             },
2026-06-06T06:01:02.5861270Z             {
2026-06-06T06:01:02.5861864Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:01:02.5862295Z               "line": 161
2026-06-06T06:01:02.5862701Z             },
2026-06-06T06:01:02.5863111Z             {
2026-06-06T06:01:02.5863695Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-06T06:01:02.5864122Z               "line": 70
2026-06-06T06:01:02.5864528Z             },
2026-06-06T06:01:02.5864923Z             {
2026-06-06T06:01:02.5865511Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-06T06:01:02.5865953Z               "line": 210
2026-06-06T06:01:02.5866354Z             },
2026-06-06T06:01:02.5866759Z             {
2026-06-06T06:01:02.5867354Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-06T06:01:02.5867798Z               "line": 37
2026-06-06T06:01:02.5868202Z             },
2026-06-06T06:01:02.5868606Z             {
2026-06-06T06:01:02.5869266Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-06T06:01:02.5869702Z               "line": 38
2026-06-06T06:01:02.5870112Z             },
2026-06-06T06:01:02.5870510Z             {
2026-06-06T06:01:02.5871134Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-06T06:01:02.5871588Z               "line": 36
2026-06-06T06:01:02.5871986Z             },
2026-06-06T06:01:02.5872388Z             {
2026-06-06T06:01:02.5872979Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-06T06:01:02.5873415Z               "line": 40
2026-06-06T06:01:02.5873809Z             }
2026-06-06T06:01:02.5874214Z           ]
2026-06-06T06:01:02.5874618Z         },
2026-06-06T06:01:02.5875020Z         "int": {
2026-06-06T06:01:02.5875477Z           "complete": false,
2026-06-06T06:01:02.5875907Z           "evidence": []
2026-06-06T06:01:02.5876313Z         },
2026-06-06T06:01:02.5876718Z         "unit": {
2026-06-06T06:01:02.5877185Z           "complete": true,
2026-06-06T06:01:02.5877624Z           "evidence": [
2026-06-06T06:01:02.5878024Z             {
2026-06-06T06:01:02.5878672Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:01:02.5879099Z               "line": 179
2026-06-06T06:01:02.5879545Z             },
2026-06-06T06:01:02.5879948Z             {
2026-06-06T06:01:02.5880642Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-06T06:01:02.5881080Z               "line": 117
2026-06-06T06:01:02.5881481Z             },
2026-06-06T06:01:02.5881888Z             {
2026-06-06T06:01:02.5882561Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-06T06:01:02.5883000Z               "line": 344
2026-06-06T06:01:02.5883414Z             },
2026-06-06T06:01:02.5883811Z             {
2026-06-06T06:01:02.5884426Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-06T06:01:02.5884857Z               "line": 204
2026-06-06T06:01:02.5885274Z             },
2026-06-06T06:01:02.5885683Z             {
2026-06-06T06:01:02.5886320Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-06T06:01:02.5886757Z               "line": 147
2026-06-06T06:01:02.5887156Z             },
2026-06-06T06:01:02.5887559Z             {
2026-06-06T06:01:02.5888167Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-06T06:01:02.5888768Z               "line": 106
2026-06-06T06:01:02.5889212Z             },
2026-06-06T06:01:02.5889624Z             {
2026-06-06T06:01:02.5890220Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-06T06:01:02.5890662Z               "line": 142
2026-06-06T06:01:02.5891070Z             },
2026-06-06T06:01:02.5891461Z             {
2026-06-06T06:01:02.5892090Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-06T06:01:02.5892516Z               "line": 139
2026-06-06T06:01:02.5892921Z             },
2026-06-06T06:01:02.5893324Z             {
2026-06-06T06:01:02.5893944Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-06T06:01:02.5894559Z               "line": 126
2026-06-06T06:01:02.5894959Z             },
2026-06-06T06:01:02.5895361Z             {
2026-06-06T06:01:02.5895950Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-06T06:01:02.5896395Z               "line": 135
2026-06-06T06:01:02.5896798Z             }
2026-06-06T06:01:02.5897194Z           ]
2026-06-06T06:01:02.5897621Z         }
2026-06-06T06:01:02.5898030Z       }
2026-06-06T06:01:02.5898427Z     },
2026-06-06T06:01:02.5898814Z     {
2026-06-06T06:01:02.5899434Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-06T06:01:02.5900297Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-06T06:01:02.5900756Z       "requiredStages": [
2026-06-06T06:01:02.5901169Z         "impl",
2026-06-06T06:01:02.5901569Z         "unit"
2026-06-06T06:01:02.5901965Z       ],
2026-06-06T06:01:02.5902373Z       "stages": {
2026-06-06T06:01:02.5902785Z         "doc": {
2026-06-06T06:01:02.5903311Z           "complete": false,
2026-06-06T06:01:02.5903946Z           "evidence": []
2026-06-06T06:01:02.5904457Z         },
2026-06-06T06:01:02.5905083Z         "impl": {
2026-06-06T06:01:02.5905552Z           "complete": true,
2026-06-06T06:01:02.5905984Z           "evidence": [
2026-06-06T06:01:02.5906390Z             {
2026-06-06T06:01:02.5906989Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:01:02.5907436Z               "line": 95
2026-06-06T06:01:02.5907857Z             },
2026-06-06T06:01:02.5908262Z             {
2026-06-06T06:01:02.5908861Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.5909351Z               "line": 99
2026-06-06T06:01:02.5909775Z             }
2026-06-06T06:01:02.5910192Z           ]
2026-06-06T06:01:02.5910598Z         },
2026-06-06T06:01:02.5911023Z         "int": {
2026-06-06T06:01:02.5911484Z           "complete": false,
2026-06-06T06:01:02.5911933Z           "evidence": []
2026-06-06T06:01:02.5912343Z         },
2026-06-06T06:01:02.5912789Z         "unit": {
2026-06-06T06:01:02.5913251Z           "complete": true,
2026-06-06T06:01:02.5913684Z           "evidence": [
2026-06-06T06:01:02.5914092Z             {
2026-06-06T06:01:02.5914694Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:01:02.5915144Z               "line": 250
2026-06-06T06:01:02.5915543Z             },
2026-06-06T06:01:02.5915967Z             {
2026-06-06T06:01:02.5916560Z               "path": "crates/spt-store/src/proc.rs",
2026-06-06T06:01:02.5916997Z               "line": 191
2026-06-06T06:01:02.5917418Z             },
2026-06-06T06:01:02.5917821Z             {
2026-06-06T06:01:02.5918420Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.5918855Z               "line": 432
2026-06-06T06:01:02.5919310Z             },
2026-06-06T06:01:02.5919728Z             {
2026-06-06T06:01:02.5920329Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.5920781Z               "line": 462
2026-06-06T06:01:02.5921195Z             }
2026-06-06T06:01:02.5921610Z           ]
2026-06-06T06:01:02.5922010Z         }
2026-06-06T06:01:02.5922428Z       }
2026-06-06T06:01:02.5922835Z     },
2026-06-06T06:01:02.5923233Z     {
2026-06-06T06:01:02.5930399Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-06T06:01:02.5931614Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-06T06:01:02.5932375Z       "requiredStages": [
2026-06-06T06:01:02.5932780Z         "impl",
2026-06-06T06:01:02.5933189Z         "unit"
2026-06-06T06:01:02.5933587Z       ],
2026-06-06T06:01:02.5934000Z       "stages": {
2026-06-06T06:01:02.5934405Z         "doc": {
2026-06-06T06:01:02.5934855Z           "complete": false,
2026-06-06T06:01:02.5935297Z           "evidence": []
2026-06-06T06:01:02.5935692Z         },
2026-06-06T06:01:02.5936111Z         "impl": {
2026-06-06T06:01:02.5936567Z           "complete": true,
2026-06-06T06:01:02.5936997Z           "evidence": [
2026-06-06T06:01:02.5937398Z             {
2026-06-06T06:01:02.5938141Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5938585Z               "line": 230
2026-06-06T06:01:02.5938992Z             },
2026-06-06T06:01:02.5939500Z             {
2026-06-06T06:01:02.5940121Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5940560Z               "line": 275
2026-06-06T06:01:02.5940980Z             },
2026-06-06T06:01:02.5941403Z             {
2026-06-06T06:01:02.5942012Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5942452Z               "line": 287
2026-06-06T06:01:02.5942864Z             }
2026-06-06T06:01:02.5943284Z           ]
2026-06-06T06:01:02.5943687Z         },
2026-06-06T06:01:02.5944108Z         "int": {
2026-06-06T06:01:02.5944566Z           "complete": false,
2026-06-06T06:01:02.5945014Z           "evidence": []
2026-06-06T06:01:02.5945412Z         },
2026-06-06T06:01:02.5945830Z         "unit": {
2026-06-06T06:01:02.5946287Z           "complete": true,
2026-06-06T06:01:02.5946734Z           "evidence": [
2026-06-06T06:01:02.5947146Z             {
2026-06-06T06:01:02.5947740Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5948184Z               "line": 423
2026-06-06T06:01:02.5948592Z             },
2026-06-06T06:01:02.5949007Z             {
2026-06-06T06:01:02.5949675Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.5950132Z               "line": 452
2026-06-06T06:01:02.5950546Z             }
2026-06-06T06:01:02.5950948Z           ]
2026-06-06T06:01:02.5951358Z         }
2026-06-06T06:01:02.5951755Z       }
2026-06-06T06:01:02.5952170Z     },
2026-06-06T06:01:02.5952571Z     {
2026-06-06T06:01:02.5953025Z       "id": "REQ-INFRA-1",
2026-06-06T06:01:02.5954042Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-06T06:01:02.5954520Z       "requiredStages": [],
2026-06-06T06:01:02.5954949Z       "stages": {
2026-06-06T06:01:02.5955356Z         "doc": {
2026-06-06T06:01:02.5955818Z           "complete": false,
2026-06-06T06:01:02.5956286Z           "evidence": []
2026-06-06T06:01:02.5956684Z         },
2026-06-06T06:01:02.5957113Z         "impl": {
2026-06-06T06:01:02.5957568Z           "complete": false,
2026-06-06T06:01:02.5958015Z           "evidence": []
2026-06-06T06:01:02.5958414Z         },
2026-06-06T06:01:02.5958835Z         "int": {
2026-06-06T06:01:02.5959340Z           "complete": false,
2026-06-06T06:01:02.5959802Z           "evidence": []
2026-06-06T06:01:02.5960210Z         },
2026-06-06T06:01:02.5960626Z         "unit": {
2026-06-06T06:01:02.5961090Z           "complete": false,
2026-06-06T06:01:02.5961532Z           "evidence": []
2026-06-06T06:01:02.5961940Z         }
2026-06-06T06:01:02.5962352Z       }
2026-06-06T06:01:02.5962747Z     },
2026-06-06T06:01:02.5963150Z     {
2026-06-06T06:01:02.5963594Z       "id": "REQ-INST-1",
2026-06-06T06:01:02.5964461Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-06T06:01:02.5964937Z       "requiredStages": [],
2026-06-06T06:01:02.5965382Z       "stages": {
2026-06-06T06:01:02.5965802Z         "doc": {
2026-06-06T06:01:02.5966256Z           "complete": false,
2026-06-06T06:01:02.5966705Z           "evidence": []
2026-06-06T06:01:02.5967104Z         },
2026-06-06T06:01:02.5967529Z         "impl": {
2026-06-06T06:01:02.5967986Z           "complete": false,
2026-06-06T06:01:02.5968436Z           "evidence": []
2026-06-06T06:01:02.5969016Z         },
2026-06-06T06:01:02.5969476Z         "int": {
2026-06-06T06:01:02.5969953Z           "complete": false,
2026-06-06T06:01:02.5970395Z           "evidence": []
2026-06-06T06:01:02.5970810Z         },
2026-06-06T06:01:02.5971222Z         "unit": {
2026-06-06T06:01:02.5971687Z           "complete": false,
2026-06-06T06:01:02.5972142Z           "evidence": []
2026-06-06T06:01:02.5972544Z         }
2026-06-06T06:01:02.5972957Z       }
2026-06-06T06:01:02.5973352Z     },
2026-06-06T06:01:02.5973761Z     {
2026-06-06T06:01:02.5974216Z       "id": "REQ-INST-10",
2026-06-06T06:01:02.5975556Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-06T06:01:02.5976033Z       "requiredStages": [
2026-06-06T06:01:02.5976445Z         "impl",
2026-06-06T06:01:02.5976863Z         "unit"
2026-06-06T06:01:02.5977268Z       ],
2026-06-06T06:01:02.5977699Z       "stages": {
2026-06-06T06:01:02.5978104Z         "doc": {
2026-06-06T06:01:02.5978587Z           "complete": false,
2026-06-06T06:01:02.5979032Z           "evidence": []
2026-06-06T06:01:02.5979473Z         },
2026-06-06T06:01:02.5979905Z         "impl": {
2026-06-06T06:01:02.5980357Z           "complete": true,
2026-06-06T06:01:02.5980800Z           "evidence": [
2026-06-06T06:01:02.5981205Z             {
2026-06-06T06:01:02.5981855Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.5982295Z               "line": 476
2026-06-06T06:01:02.5982702Z             },
2026-06-06T06:01:02.5983110Z             {
2026-06-06T06:01:02.5983748Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.5984204Z               "line": 542
2026-06-06T06:01:02.5984609Z             },
2026-06-06T06:01:02.5985023Z             {
2026-06-06T06:01:02.5985614Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-06T06:01:02.5986050Z               "line": 13
2026-06-06T06:01:02.5986465Z             },
2026-06-06T06:01:02.5986864Z             {
2026-06-06T06:01:02.5987465Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-06T06:01:02.5987896Z               "line": 67
2026-06-06T06:01:02.5988305Z             },
2026-06-06T06:01:02.5988715Z             {
2026-06-06T06:01:02.5989363Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:01:02.5989812Z               "line": 18
2026-06-06T06:01:02.5990221Z             }
2026-06-06T06:01:02.5990639Z           ]
2026-06-06T06:01:02.5991037Z         },
2026-06-06T06:01:02.5991454Z         "int": {
2026-06-06T06:01:02.5991917Z           "complete": false,
2026-06-06T06:01:02.5992356Z           "evidence": []
2026-06-06T06:01:02.5992774Z         },
2026-06-06T06:01:02.5993189Z         "unit": {
2026-06-06T06:01:02.5993660Z           "complete": true,
2026-06-06T06:01:02.5994093Z           "evidence": [
2026-06-06T06:01:02.5994510Z             {
2026-06-06T06:01:02.5995153Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.5995591Z               "line": 686
2026-06-06T06:01:02.5996020Z             },
2026-06-06T06:01:02.5996431Z             {
2026-06-06T06:01:02.5997081Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.5997528Z               "line": 912
2026-06-06T06:01:02.5997934Z             },
2026-06-06T06:01:02.5998347Z             {
2026-06-06T06:01:02.5998985Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.5999468Z               "line": 920
2026-06-06T06:01:02.5999881Z             },
2026-06-06T06:01:02.6000301Z             {
2026-06-06T06:01:02.6000946Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6001397Z               "line": 933
2026-06-06T06:01:02.6001812Z             },
2026-06-06T06:01:02.6002213Z             {
2026-06-06T06:01:02.6002851Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6003284Z               "line": 946
2026-06-06T06:01:02.6003699Z             },
2026-06-06T06:01:02.6004121Z             {
2026-06-06T06:01:02.6004922Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6005371Z               "line": 962
2026-06-06T06:01:02.6005783Z             },
2026-06-06T06:01:02.6006197Z             {
2026-06-06T06:01:02.6011739Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6012310Z               "line": 1191
2026-06-06T06:01:02.6012724Z             },
2026-06-06T06:01:02.6013123Z             {
2026-06-06T06:01:02.6013731Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-06T06:01:02.6014164Z               "line": 121
2026-06-06T06:01:02.6014575Z             },
2026-06-06T06:01:02.6015225Z             {
2026-06-06T06:01:02.6015824Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-06T06:01:02.6016256Z               "line": 142
2026-06-06T06:01:02.6016659Z             },
2026-06-06T06:01:02.6017064Z             {
2026-06-06T06:01:02.6017638Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-06T06:01:02.6018069Z               "line": 150
2026-06-06T06:01:02.6018480Z             },
2026-06-06T06:01:02.6018883Z             {
2026-06-06T06:01:02.6019530Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-06T06:01:02.6019971Z               "line": 158
2026-06-06T06:01:02.6020380Z             }
2026-06-06T06:01:02.6020771Z           ]
2026-06-06T06:01:02.6021174Z         }
2026-06-06T06:01:02.6021562Z       }
2026-06-06T06:01:02.6021962Z     },
2026-06-06T06:01:02.6022359Z     {
2026-06-06T06:01:02.6022802Z       "id": "REQ-INST-11",
2026-06-06T06:01:02.6024035Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-06T06:01:02.6024513Z       "requiredStages": [
2026-06-06T06:01:02.6024931Z         "impl",
2026-06-06T06:01:02.6025325Z         "unit"
2026-06-06T06:01:02.6025724Z       ],
2026-06-06T06:01:02.6026144Z       "stages": {
2026-06-06T06:01:02.6026541Z         "doc": {
2026-06-06T06:01:02.6026996Z           "complete": false,
2026-06-06T06:01:02.6027427Z           "evidence": []
2026-06-06T06:01:02.6027844Z         },
2026-06-06T06:01:02.6028249Z         "impl": {
2026-06-06T06:01:02.6028699Z           "complete": true,
2026-06-06T06:01:02.6029130Z           "evidence": [
2026-06-06T06:01:02.6029567Z             {
2026-06-06T06:01:02.6030230Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6030669Z               "line": 353
2026-06-06T06:01:02.6031083Z             },
2026-06-06T06:01:02.6031486Z             {
2026-06-06T06:01:02.6032176Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.6032628Z               "line": 252
2026-06-06T06:01:02.6033042Z             },
2026-06-06T06:01:02.6033458Z             {
2026-06-06T06:01:02.6034060Z               "path": "crates/spt-store/src/rename.rs",
2026-06-06T06:01:02.6034501Z               "line": 59
2026-06-06T06:01:02.6034902Z             },
2026-06-06T06:01:02.6035314Z             {
2026-06-06T06:01:02.6035858Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.6036308Z               "line": 2231
2026-06-06T06:01:02.6036724Z             },
2026-06-06T06:01:02.6037127Z             {
2026-06-06T06:01:02.6037665Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.6038117Z               "line": 3254
2026-06-06T06:01:02.6038521Z             }
2026-06-06T06:01:02.6038937Z           ]
2026-06-06T06:01:02.6039373Z         },
2026-06-06T06:01:02.6039800Z         "int": {
2026-06-06T06:01:02.6040261Z           "complete": false,
2026-06-06T06:01:02.6040711Z           "evidence": []
2026-06-06T06:01:02.6041109Z         },
2026-06-06T06:01:02.6041529Z         "unit": {
2026-06-06T06:01:02.6042004Z           "complete": true,
2026-06-06T06:01:02.6042441Z           "evidence": [
2026-06-06T06:01:02.6042844Z             {
2026-06-06T06:01:02.6043485Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6043939Z               "line": 1055
2026-06-06T06:01:02.6044353Z             },
2026-06-06T06:01:02.6044761Z             {
2026-06-06T06:01:02.6045576Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6046023Z               "line": 1078
2026-06-06T06:01:02.6046436Z             },
2026-06-06T06:01:02.6046833Z             {
2026-06-06T06:01:02.6047515Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.6047964Z               "line": 471
2026-06-06T06:01:02.6048369Z             },
2026-06-06T06:01:02.6048779Z             {
2026-06-06T06:01:02.6049420Z               "path": "crates/spt-store/src/rename.rs",
2026-06-06T06:01:02.6049875Z               "line": 156
2026-06-06T06:01:02.6050282Z             },
2026-06-06T06:01:02.6050864Z             {
2026-06-06T06:01:02.6051482Z               "path": "crates/spt-store/src/rename.rs",
2026-06-06T06:01:02.6051920Z               "line": 177
2026-06-06T06:01:02.6052336Z             },
2026-06-06T06:01:02.6052738Z             {
2026-06-06T06:01:02.6053347Z               "path": "crates/spt-store/src/rename.rs",
2026-06-06T06:01:02.6053801Z               "line": 209
2026-06-06T06:01:02.6054218Z             },
2026-06-06T06:01:02.6054624Z             {
2026-06-06T06:01:02.6055154Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.6055603Z               "line": 3385
2026-06-06T06:01:02.6056005Z             }
2026-06-06T06:01:02.6056411Z           ]
2026-06-06T06:01:02.6056813Z         }
2026-06-06T06:01:02.6057223Z       }
2026-06-06T06:01:02.6057630Z     },
2026-06-06T06:01:02.6058025Z     {
2026-06-06T06:01:02.6058482Z       "id": "REQ-INST-12",
2026-06-06T06:01:02.6060279Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-06T06:01:02.6060774Z       "requiredStages": [
2026-06-06T06:01:02.6061189Z         "impl",
2026-06-06T06:01:02.6061608Z         "unit"
2026-06-06T06:01:02.6062015Z       ],
2026-06-06T06:01:02.6062431Z       "stages": {
2026-06-06T06:01:02.6062846Z         "doc": {
2026-06-06T06:01:02.6063303Z           "complete": false,
2026-06-06T06:01:02.6063758Z           "evidence": []
2026-06-06T06:01:02.6064155Z         },
2026-06-06T06:01:02.6064578Z         "impl": {
2026-06-06T06:01:02.6065036Z           "complete": true,
2026-06-06T06:01:02.6065465Z           "evidence": [
2026-06-06T06:01:02.6065879Z             {
2026-06-06T06:01:02.6066520Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6066966Z               "line": 405
2026-06-06T06:01:02.6067368Z             },
2026-06-06T06:01:02.6067779Z             {
2026-06-06T06:01:02.6068423Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6068869Z               "line": 487
2026-06-06T06:01:02.6069322Z             },
2026-06-06T06:01:02.6069725Z             {
2026-06-06T06:01:02.6070372Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6070804Z               "line": 556
2026-06-06T06:01:02.6071218Z             },
2026-06-06T06:01:02.6071627Z             {
2026-06-06T06:01:02.6072227Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:01:02.6072681Z               "line": 87
2026-06-06T06:01:02.6073085Z             },
2026-06-06T06:01:02.6073492Z             {
2026-06-06T06:01:02.6074093Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:01:02.6074539Z               "line": 216
2026-06-06T06:01:02.6074961Z             },
2026-06-06T06:01:02.6075366Z             {
2026-06-06T06:01:02.6076023Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-06T06:01:02.6076458Z               "line": 132
2026-06-06T06:01:02.6076871Z             }
2026-06-06T06:01:02.6077274Z           ]
2026-06-06T06:01:02.6077693Z         },
2026-06-06T06:01:02.6078110Z         "int": {
2026-06-06T06:01:02.6078571Z           "complete": false,
2026-06-06T06:01:02.6079018Z           "evidence": []
2026-06-06T06:01:02.6079459Z         },
2026-06-06T06:01:02.6079888Z         "unit": {
2026-06-06T06:01:02.6080344Z           "complete": true,
2026-06-06T06:01:02.6080792Z           "evidence": [
2026-06-06T06:01:02.6081438Z             {
2026-06-06T06:01:02.6082084Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6082537Z               "line": 1113
2026-06-06T06:01:02.6082947Z             },
2026-06-06T06:01:02.6083363Z             {
2026-06-06T06:01:02.6084004Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6084459Z               "line": 1130
2026-06-06T06:01:02.6084877Z             },
2026-06-06T06:01:02.6085281Z             {
2026-06-06T06:01:02.6085926Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6086496Z               "line": 1161
2026-06-06T06:01:02.6086917Z             },
2026-06-06T06:01:02.6087330Z             {
2026-06-06T06:01:02.6087938Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:01:02.6088384Z               "line": 350
2026-06-06T06:01:02.6093174Z             },
2026-06-06T06:01:02.6093677Z             {
2026-06-06T06:01:02.6094338Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-06T06:01:02.6094811Z               "line": 169
2026-06-06T06:01:02.6095226Z             },
2026-06-06T06:01:02.6095629Z             {
2026-06-06T06:01:02.6096288Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-06T06:01:02.6096718Z               "line": 181
2026-06-06T06:01:02.6097133Z             },
2026-06-06T06:01:02.6097539Z             {
2026-06-06T06:01:02.6098196Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-06T06:01:02.6098630Z               "line": 198
2026-06-06T06:01:02.6099024Z             }
2026-06-06T06:01:02.6099493Z           ]
2026-06-06T06:01:02.6099897Z         }
2026-06-06T06:01:02.6100293Z       }
2026-06-06T06:01:02.6100680Z     },
2026-06-06T06:01:02.6101075Z     {
2026-06-06T06:01:02.6101529Z       "id": "REQ-INST-13",
2026-06-06T06:01:02.6102530Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-06T06:01:02.6102995Z       "requiredStages": [
2026-06-06T06:01:02.6103415Z         "impl",
2026-06-06T06:01:02.6103827Z         "unit"
2026-06-06T06:01:02.6104221Z       ],
2026-06-06T06:01:02.6104643Z       "stages": {
2026-06-06T06:01:02.6105050Z         "doc": {
2026-06-06T06:01:02.6105499Z           "complete": false,
2026-06-06T06:01:02.6105945Z           "evidence": []
2026-06-06T06:01:02.6106340Z         },
2026-06-06T06:01:02.6106759Z         "impl": {
2026-06-06T06:01:02.6107200Z           "complete": true,
2026-06-06T06:01:02.6107631Z           "evidence": [
2026-06-06T06:01:02.6108029Z             {
2026-06-06T06:01:02.6108615Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:01:02.6109056Z               "line": 94
2026-06-06T06:01:02.6109496Z             },
2026-06-06T06:01:02.6109908Z             {
2026-06-06T06:01:02.6110545Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-06T06:01:02.6110985Z               "line": 155
2026-06-06T06:01:02.6111393Z             }
2026-06-06T06:01:02.6111785Z           ]
2026-06-06T06:01:02.6112196Z         },
2026-06-06T06:01:02.6112599Z         "int": {
2026-06-06T06:01:02.6113057Z           "complete": false,
2026-06-06T06:01:02.6113484Z           "evidence": []
2026-06-06T06:01:02.6113891Z         },
2026-06-06T06:01:02.6114303Z         "unit": {
2026-06-06T06:01:02.6114746Z           "complete": true,
2026-06-06T06:01:02.6115181Z           "evidence": [
2026-06-06T06:01:02.6115572Z             {
2026-06-06T06:01:02.6116220Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-06T06:01:02.6116648Z               "line": 221
2026-06-06T06:01:02.6117048Z             },
2026-06-06T06:01:02.6117462Z             {
2026-06-06T06:01:02.6118101Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-06T06:01:02.6118538Z               "line": 233
2026-06-06T06:01:02.6118932Z             }
2026-06-06T06:01:02.6119369Z           ]
2026-06-06T06:01:02.6119768Z         }
2026-06-06T06:01:02.6120167Z       }
2026-06-06T06:01:02.6120564Z     },
2026-06-06T06:01:02.6121223Z     {
2026-06-06T06:01:02.6121675Z       "id": "REQ-INST-14",
2026-06-06T06:01:02.6123971Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-06T06:01:02.6124443Z       "requiredStages": [
2026-06-06T06:01:02.6124848Z         "doc",
2026-06-06T06:01:02.6125261Z         "impl",
2026-06-06T06:01:02.6125665Z         "unit"
2026-06-06T06:01:02.6126055Z       ],
2026-06-06T06:01:02.6126472Z       "stages": {
2026-06-06T06:01:02.6126873Z         "doc": {
2026-06-06T06:01:02.6127324Z           "complete": true,
2026-06-06T06:01:02.6127891Z           "evidence": [
2026-06-06T06:01:02.6128295Z             {
2026-06-06T06:01:02.6128762Z               "path": "CONTEXT.md",
2026-06-06T06:01:02.6129241Z               "line": 421
2026-06-06T06:01:02.6129654Z             },
2026-06-06T06:01:02.6130046Z             {
2026-06-06T06:01:02.6130543Z               "path": "docs/STORAGE.md",
2026-06-06T06:01:02.6130965Z               "line": 49
2026-06-06T06:01:02.6131381Z             }
2026-06-06T06:01:02.6131782Z           ]
2026-06-06T06:01:02.6132173Z         },
2026-06-06T06:01:02.6132587Z         "impl": {
2026-06-06T06:01:02.6133029Z           "complete": true,
2026-06-06T06:01:02.6133460Z           "evidence": [
2026-06-06T06:01:02.6133852Z             {
2026-06-06T06:01:02.6134551Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.6134986Z               "line": 292
2026-06-06T06:01:02.6135394Z             },
2026-06-06T06:01:02.6135798Z             {
2026-06-06T06:01:02.6136432Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6136880Z               "line": 220
2026-06-06T06:01:02.6137278Z             },
2026-06-06T06:01:02.6137676Z             {
2026-06-06T06:01:02.6138254Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.6138681Z               "line": 202
2026-06-06T06:01:02.6139090Z             },
2026-06-06T06:01:02.6139518Z             {
2026-06-06T06:01:02.6140066Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.6140494Z               "line": 833
2026-06-06T06:01:02.6140895Z             }
2026-06-06T06:01:02.6141296Z           ]
2026-06-06T06:01:02.6141685Z         },
2026-06-06T06:01:02.6142099Z         "int": {
2026-06-06T06:01:02.6142543Z           "complete": false,
2026-06-06T06:01:02.6142989Z           "evidence": []
2026-06-06T06:01:02.6143385Z         },
2026-06-06T06:01:02.6143798Z         "unit": {
2026-06-06T06:01:02.6144250Z           "complete": true,
2026-06-06T06:01:02.6144674Z           "evidence": [
2026-06-06T06:01:02.6145082Z             {
2026-06-06T06:01:02.6145755Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.6146196Z               "line": 481
2026-06-06T06:01:02.6146592Z             },
2026-06-06T06:01:02.6146991Z             {
2026-06-06T06:01:02.6147629Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6148056Z               "line": 695
2026-06-06T06:01:02.6148472Z             },
2026-06-06T06:01:02.6148865Z             {
2026-06-06T06:01:02.6149531Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6149965Z               "line": 862
2026-06-06T06:01:02.6150372Z             },
2026-06-06T06:01:02.6150768Z             {
2026-06-06T06:01:02.6151344Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.6151778Z               "line": 411
2026-06-06T06:01:02.6152174Z             },
2026-06-06T06:01:02.6152579Z             {
2026-06-06T06:01:02.6153120Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.6153562Z               "line": 3401
2026-06-06T06:01:02.6153962Z             }
2026-06-06T06:01:02.6154354Z           ]
2026-06-06T06:01:02.6154753Z         }
2026-06-06T06:01:02.6155143Z       }
2026-06-06T06:01:02.6155543Z     },
2026-06-06T06:01:02.6155929Z     {
2026-06-06T06:01:02.6156378Z       "id": "REQ-INST-15",
2026-06-06T06:01:02.6161097Z       "title": "Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)",
2026-06-06T06:01:02.6161725Z       "requiredStages": [
2026-06-06T06:01:02.6162135Z         "doc",
2026-06-06T06:01:02.6162537Z         "impl",
2026-06-06T06:01:02.6162947Z         "unit"
2026-06-06T06:01:02.6163349Z       ],
2026-06-06T06:01:02.6163755Z       "stages": {
2026-06-06T06:01:02.6164161Z         "doc": {
2026-06-06T06:01:02.6164610Z           "complete": true,
2026-06-06T06:01:02.6165227Z           "evidence": [
2026-06-06T06:01:02.6165624Z             {
2026-06-06T06:01:02.6166593Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-06T06:01:02.6167025Z               "line": 3
2026-06-06T06:01:02.6167427Z             }
2026-06-06T06:01:02.6167831Z           ]
2026-06-06T06:01:02.6168224Z         },
2026-06-06T06:01:02.6168664Z         "impl": {
2026-06-06T06:01:02.6169108Z           "complete": true,
2026-06-06T06:01:02.6169600Z           "evidence": [
2026-06-06T06:01:02.6170006Z             {
2026-06-06T06:01:02.6170686Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.6171123Z               "line": 240
2026-06-06T06:01:02.6171517Z             },
2026-06-06T06:01:02.6171923Z             {
2026-06-06T06:01:02.6172487Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:01:02.6177130Z               "line": 60
2026-06-06T06:01:02.6177627Z             },
2026-06-06T06:01:02.6178054Z             {
2026-06-06T06:01:02.6178741Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.6179349Z               "line": 326
2026-06-06T06:01:02.6179771Z             },
2026-06-06T06:01:02.6180165Z             {
2026-06-06T06:01:02.6180845Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.6181276Z               "line": 376
2026-06-06T06:01:02.6181688Z             },
2026-06-06T06:01:02.6182092Z             {
2026-06-06T06:01:02.6182677Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:01:02.6183106Z               "line": 19
2026-06-06T06:01:02.6183516Z             },
2026-06-06T06:01:02.6183913Z             {
2026-06-06T06:01:02.6184494Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:01:02.6184915Z               "line": 67
2026-06-06T06:01:02.6185321Z             },
2026-06-06T06:01:02.6185719Z             {
2026-06-06T06:01:02.6186303Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:01:02.6186746Z               "line": 91
2026-06-06T06:01:02.6187146Z             },
2026-06-06T06:01:02.6187549Z             {
2026-06-06T06:01:02.6188123Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:01:02.6188562Z               "line": 116
2026-06-06T06:01:02.6188960Z             },
2026-06-06T06:01:02.6189401Z             {
2026-06-06T06:01:02.6189994Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:01:02.6190417Z               "line": 167
2026-06-06T06:01:02.6190821Z             },
2026-06-06T06:01:02.6191212Z             {
2026-06-06T06:01:02.6191803Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.6192230Z               "line": 141
2026-06-06T06:01:02.6192633Z             },
2026-06-06T06:01:02.6193033Z             {
2026-06-06T06:01:02.6193566Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.6193998Z               "line": 725
2026-06-06T06:01:02.6194391Z             }
2026-06-06T06:01:02.6194812Z           ]
2026-06-06T06:01:02.6195306Z         },
2026-06-06T06:01:02.6195765Z         "int": {
2026-06-06T06:01:02.6196224Z           "complete": false,
2026-06-06T06:01:02.6196654Z           "evidence": []
2026-06-06T06:01:02.6197053Z         },
2026-06-06T06:01:02.6197456Z         "unit": {
2026-06-06T06:01:02.6197904Z           "complete": true,
2026-06-06T06:01:02.6198339Z           "evidence": [
2026-06-06T06:01:02.6199062Z             {
2026-06-06T06:01:02.6199807Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.6200241Z               "line": 515
2026-06-06T06:01:02.6200643Z             },
2026-06-06T06:01:02.6201039Z             {
2026-06-06T06:01:02.6201716Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.6202143Z               "line": 571
2026-06-06T06:01:02.6202552Z             },
2026-06-06T06:01:02.6202955Z             {
2026-06-06T06:01:02.6203526Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:01:02.6203958Z               "line": 206
2026-06-06T06:01:02.6204492Z             },
2026-06-06T06:01:02.6204901Z             {
2026-06-06T06:01:02.6205467Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:01:02.6205911Z               "line": 239
2026-06-06T06:01:02.6206314Z             },
2026-06-06T06:01:02.6206705Z             {
2026-06-06T06:01:02.6207286Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:01:02.6207734Z               "line": 252
2026-06-06T06:01:02.6208142Z             },
2026-06-06T06:01:02.6208535Z             {
2026-06-06T06:01:02.6209116Z               "path": "crates/spt-store/src/home.rs",
2026-06-06T06:01:02.6209598Z               "line": 316
2026-06-06T06:01:02.6210002Z             },
2026-06-06T06:01:02.6210409Z             {
2026-06-06T06:01:02.6210989Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.6211424Z               "line": 477
2026-06-06T06:01:02.6211825Z             },
2026-06-06T06:01:02.6212219Z             {
2026-06-06T06:01:02.6212757Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.6213192Z               "line": 3388
2026-06-06T06:01:02.6213599Z             },
2026-06-06T06:01:02.6213999Z             {
2026-06-06T06:01:02.6214530Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.6214974Z               "line": 4374
2026-06-06T06:01:02.6215369Z             }
2026-06-06T06:01:02.6215780Z           ]
2026-06-06T06:01:02.6216173Z         }
2026-06-06T06:01:02.6216572Z       }
2026-06-06T06:01:02.6216959Z     },
2026-06-06T06:01:02.6217356Z     {
2026-06-06T06:01:02.6217791Z       "id": "REQ-INST-2",
2026-06-06T06:01:02.6218409Z       "title": "Per-node files, synced Psyche mind",
2026-06-06T06:01:02.6218875Z       "requiredStages": [
2026-06-06T06:01:02.6219317Z         "impl",
2026-06-06T06:01:02.6219726Z         "unit"
2026-06-06T06:01:02.6220120Z       ],
2026-06-06T06:01:02.6220539Z       "stages": {
2026-06-06T06:01:02.6220944Z         "doc": {
2026-06-06T06:01:02.6221404Z           "complete": false,
2026-06-06T06:01:02.6221861Z           "evidence": []
2026-06-06T06:01:02.6222267Z         },
2026-06-06T06:01:02.6222682Z         "impl": {
2026-06-06T06:01:02.6223127Z           "complete": true,
2026-06-06T06:01:02.6223558Z           "evidence": [
2026-06-06T06:01:02.6223954Z             {
2026-06-06T06:01:02.6224605Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.6225054Z               "line": 86
2026-06-06T06:01:02.6225449Z             },
2026-06-06T06:01:02.6225858Z             {
2026-06-06T06:01:02.6226445Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:01:02.6226881Z               "line": 28
2026-06-06T06:01:02.6227280Z             },
2026-06-06T06:01:02.6227682Z             {
2026-06-06T06:01:02.6228280Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:01:02.6228703Z               "line": 74
2026-06-06T06:01:02.6229107Z             },
2026-06-06T06:01:02.6229536Z             {
2026-06-06T06:01:02.6230133Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:01:02.6230574Z               "line": 96
2026-06-06T06:01:02.6230968Z             },
2026-06-06T06:01:02.6231381Z             {
2026-06-06T06:01:02.6231961Z               "path": "crates/spt-live/src/resume.rs",
2026-06-06T06:01:02.6232389Z               "line": 81
2026-06-06T06:01:02.6232794Z             },
2026-06-06T06:01:02.6233371Z             {
2026-06-06T06:01:02.6233984Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-06T06:01:02.6234418Z               "line": 118
2026-06-06T06:01:02.6234827Z             }
2026-06-06T06:01:02.6235224Z           ]
2026-06-06T06:01:02.6235632Z         },
2026-06-06T06:01:02.6236045Z         "int": {
2026-06-06T06:01:02.6236500Z           "complete": false,
2026-06-06T06:01:02.6236981Z           "evidence": []
2026-06-06T06:01:02.6237382Z         },
2026-06-06T06:01:02.6237802Z         "unit": {
2026-06-06T06:01:02.6238248Z           "complete": true,
2026-06-06T06:01:02.6238690Z           "evidence": [
2026-06-06T06:01:02.6239250Z             {
2026-06-06T06:01:02.6239851Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-06T06:01:02.6240294Z               "line": 203
2026-06-06T06:01:02.6240694Z             },
2026-06-06T06:01:02.6241102Z             {
2026-06-06T06:01:02.6241686Z               "path": "crates/spt-live/src/resume.rs",
2026-06-06T06:01:02.6242138Z               "line": 232
2026-06-06T06:01:02.6242533Z             }
2026-06-06T06:01:02.6242945Z           ]
2026-06-06T06:01:02.6243350Z         }
2026-06-06T06:01:02.6243745Z       }
2026-06-06T06:01:02.6244151Z     },
2026-06-06T06:01:02.6244542Z     {
2026-06-06T06:01:02.6244985Z       "id": "REQ-INST-3",
2026-06-06T06:01:02.6245772Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-06T06:01:02.6246236Z       "requiredStages": [
2026-06-06T06:01:02.6246653Z         "doc",
2026-06-06T06:01:02.6247053Z         "impl",
2026-06-06T06:01:02.6247461Z         "unit"
2026-06-06T06:01:02.6247855Z       ],
2026-06-06T06:01:02.6248286Z       "stages": {
2026-06-06T06:01:02.6248695Z         "doc": {
2026-06-06T06:01:02.6249149Z           "complete": true,
2026-06-06T06:01:02.6249623Z           "evidence": [
2026-06-06T06:01:02.6250025Z             {
2026-06-06T06:01:02.6250592Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-06T06:01:02.6251015Z               "line": 3
2026-06-06T06:01:02.6255709Z             }
2026-06-06T06:01:02.6256218Z           ]
2026-06-06T06:01:02.6256622Z         },
2026-06-06T06:01:02.6257047Z         "impl": {
2026-06-06T06:01:02.6257505Z           "complete": true,
2026-06-06T06:01:02.6257943Z           "evidence": [
2026-06-06T06:01:02.6258336Z             {
2026-06-06T06:01:02.6258965Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-06T06:01:02.6259477Z               "line": 70
2026-06-06T06:01:02.6259897Z             },
2026-06-06T06:01:02.6260304Z             {
2026-06-06T06:01:02.6260943Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:01:02.6261410Z               "line": 422
2026-06-06T06:01:02.6261808Z             },
2026-06-06T06:01:02.6262212Z             {
2026-06-06T06:01:02.6262853Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.6263294Z               "line": 197
2026-06-06T06:01:02.6263700Z             },
2026-06-06T06:01:02.6264101Z             {
2026-06-06T06:01:02.6264762Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.6265190Z               "line": 272
2026-06-06T06:01:02.6265601Z             },
2026-06-06T06:01:02.6266001Z             {
2026-06-06T06:01:02.6266647Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.6267089Z               "line": 301
2026-06-06T06:01:02.6267492Z             },
2026-06-06T06:01:02.6267896Z             {
2026-06-06T06:01:02.6268533Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-06T06:01:02.6268978Z               "line": 234
2026-06-06T06:01:02.6269411Z             },
2026-06-06T06:01:02.6269831Z             {
2026-06-06T06:01:02.6270521Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.6270951Z               "line": 171
2026-06-06T06:01:02.6271354Z             },
2026-06-06T06:01:02.6271749Z             {
2026-06-06T06:01:02.6272432Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.6273166Z               "line": 278
2026-06-06T06:01:02.6273629Z             },
2026-06-06T06:01:02.6274065Z             {
2026-06-06T06:01:02.6274740Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6275227Z               "line": 45
2026-06-06T06:01:02.6275655Z             },
2026-06-06T06:01:02.6276107Z             {
2026-06-06T06:01:02.6276766Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6277255Z               "line": 114
2026-06-06T06:01:02.6277687Z             },
2026-06-06T06:01:02.6278111Z             {
2026-06-06T06:01:02.6278796Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6279802Z               "line": 152
2026-06-06T06:01:02.6280408Z             },
2026-06-06T06:01:02.6280853Z             {
2026-06-06T06:01:02.6281534Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6282016Z               "line": 168
2026-06-06T06:01:02.6282447Z             },
2026-06-06T06:01:02.6282890Z             {
2026-06-06T06:01:02.6283586Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6284076Z               "line": 178
2026-06-06T06:01:02.6284524Z             },
2026-06-06T06:01:02.6284936Z             {
2026-06-06T06:01:02.6285612Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6286064Z               "line": 210
2026-06-06T06:01:02.6286506Z             },
2026-06-06T06:01:02.6286913Z             {
2026-06-06T06:01:02.6287551Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6288003Z               "line": 283
2026-06-06T06:01:02.6288405Z             },
2026-06-06T06:01:02.6288836Z             {
2026-06-06T06:01:02.6289681Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6290293Z               "line": 307
2026-06-06T06:01:02.6290813Z             },
2026-06-06T06:01:02.6291225Z             {
2026-06-06T06:01:02.6291867Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6292319Z               "line": 378
2026-06-06T06:01:02.6292735Z             },
2026-06-06T06:01:02.6293136Z             {
2026-06-06T06:01:02.6293779Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6294218Z               "line": 427
2026-06-06T06:01:02.6294641Z             },
2026-06-06T06:01:02.6295068Z             {
2026-06-06T06:01:02.6295727Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-06T06:01:02.6296200Z               "line": 37
2026-06-06T06:01:02.6296649Z             },
2026-06-06T06:01:02.6297077Z             {
2026-06-06T06:01:02.6297755Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6298252Z               "line": 62
2026-06-06T06:01:02.6298685Z             },
2026-06-06T06:01:02.6299109Z             {
2026-06-06T06:01:02.6299771Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.6300224Z               "line": 184
2026-06-06T06:01:02.6300660Z             },
2026-06-06T06:01:02.6301103Z             {
2026-06-06T06:01:02.6301683Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.6302168Z               "line": 932
2026-06-06T06:01:02.6302590Z             }
2026-06-06T06:01:02.6303026Z           ]
2026-06-06T06:01:02.6303453Z         },
2026-06-06T06:01:02.6303901Z         "int": {
2026-06-06T06:01:02.6304373Z           "complete": false,
2026-06-06T06:01:02.6304831Z           "evidence": []
2026-06-06T06:01:02.6305255Z         },
2026-06-06T06:01:02.6305693Z         "unit": {
2026-06-06T06:01:02.6306178Z           "complete": true,
2026-06-06T06:01:02.6306642Z           "evidence": [
2026-06-06T06:01:02.6307098Z             {
2026-06-06T06:01:02.6307765Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:01:02.6308246Z               "line": 305
2026-06-06T06:01:02.6308673Z             },
2026-06-06T06:01:02.6309081Z             {
2026-06-06T06:01:02.6309821Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.6310266Z               "line": 618
2026-06-06T06:01:02.6342339Z             },
2026-06-06T06:01:02.6342761Z             {
2026-06-06T06:01:02.6343430Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.6344068Z               "line": 669
2026-06-06T06:01:02.6344499Z             },
2026-06-06T06:01:02.6344933Z             {
2026-06-06T06:01:02.6345637Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.6346092Z               "line": 575
2026-06-06T06:01:02.6346515Z             },
2026-06-06T06:01:02.6346933Z             {
2026-06-06T06:01:02.6347700Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.6348424Z               "line": 622
2026-06-06T06:01:02.6348910Z             },
2026-06-06T06:01:02.6349456Z             {
2026-06-06T06:01:02.6350216Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6350723Z               "line": 438
2026-06-06T06:01:02.6351185Z             },
2026-06-06T06:01:02.6351637Z             {
2026-06-06T06:01:02.6352377Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6352913Z               "line": 467
2026-06-06T06:01:02.6353379Z             },
2026-06-06T06:01:02.6353824Z             {
2026-06-06T06:01:02.6354487Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6354940Z               "line": 500
2026-06-06T06:01:02.6355367Z             },
2026-06-06T06:01:02.6355777Z             {
2026-06-06T06:01:02.6356429Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6356877Z               "line": 608
2026-06-06T06:01:02.6357317Z             },
2026-06-06T06:01:02.6357738Z             {
2026-06-06T06:01:02.6358371Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6358828Z               "line": 808
2026-06-06T06:01:02.6359307Z             },
2026-06-06T06:01:02.6359874Z             {
2026-06-06T06:01:02.6360504Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6360971Z               "line": 822
2026-06-06T06:01:02.6361388Z             },
2026-06-06T06:01:02.6361793Z             {
2026-06-06T06:01:02.6362437Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6362875Z               "line": 893
2026-06-06T06:01:02.6363294Z             },
2026-06-06T06:01:02.6363690Z             {
2026-06-06T06:01:02.6364278Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.6364721Z               "line": 371
2026-06-06T06:01:02.6365125Z             },
2026-06-06T06:01:02.6365539Z             {
2026-06-06T06:01:02.6366063Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.6366533Z               "line": 3415
2026-06-06T06:01:02.6366960Z             }
2026-06-06T06:01:02.6367362Z           ]
2026-06-06T06:01:02.6367774Z         }
2026-06-06T06:01:02.6368179Z       }
2026-06-06T06:01:02.6374921Z     },
2026-06-06T06:01:02.6375469Z     {
2026-06-06T06:01:02.6375955Z       "id": "REQ-INST-4",
2026-06-06T06:01:02.6376967Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-06T06:01:02.6377447Z       "requiredStages": [
2026-06-06T06:01:02.6377872Z         "impl",
2026-06-06T06:01:02.6378292Z         "unit"
2026-06-06T06:01:02.6378699Z       ],
2026-06-06T06:01:02.6379120Z       "stages": {
2026-06-06T06:01:02.6379796Z         "doc": {
2026-06-06T06:01:02.6380429Z           "complete": false,
2026-06-06T06:01:02.6380889Z           "evidence": []
2026-06-06T06:01:02.6381308Z         },
2026-06-06T06:01:02.6381727Z         "impl": {
2026-06-06T06:01:02.6382201Z           "complete": true,
2026-06-06T06:01:02.6382659Z           "evidence": [
2026-06-06T06:01:02.6383082Z             {
2026-06-06T06:01:02.6383733Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.6384191Z               "line": 273
2026-06-06T06:01:02.6384619Z             },
2026-06-06T06:01:02.6385017Z             {
2026-06-06T06:01:02.6385661Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6386461Z               "line": 202
2026-06-06T06:01:02.6386889Z             },
2026-06-06T06:01:02.6387311Z             {
2026-06-06T06:01:02.6387935Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6388391Z               "line": 234
2026-06-06T06:01:02.6388817Z             },
2026-06-06T06:01:02.6389274Z             {
2026-06-06T06:01:02.6390115Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6390584Z               "line": 270
2026-06-06T06:01:02.6391015Z             }
2026-06-06T06:01:02.6391430Z           ]
2026-06-06T06:01:02.6391850Z         },
2026-06-06T06:01:02.6392447Z         "int": {
2026-06-06T06:01:02.6392932Z           "complete": false,
2026-06-06T06:01:02.6393391Z           "evidence": []
2026-06-06T06:01:02.6393815Z         },
2026-06-06T06:01:02.6394261Z         "unit": {
2026-06-06T06:01:02.6394733Z           "complete": true,
2026-06-06T06:01:02.6395194Z           "evidence": [
2026-06-06T06:01:02.6395629Z             {
2026-06-06T06:01:02.6396306Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.6396763Z               "line": 664
2026-06-06T06:01:02.6397199Z             },
2026-06-06T06:01:02.6397623Z             {
2026-06-06T06:01:02.6398268Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6398728Z               "line": 518
2026-06-06T06:01:02.6399145Z             },
2026-06-06T06:01:02.6399635Z             {
2026-06-06T06:01:02.6400403Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6400865Z               "line": 583
2026-06-06T06:01:02.6401298Z             },
2026-06-06T06:01:02.6401709Z             {
2026-06-06T06:01:02.6402344Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6402780Z               "line": 650
2026-06-06T06:01:02.6403200Z             }
2026-06-06T06:01:02.6403607Z           ]
2026-06-06T06:01:02.6404021Z         }
2026-06-06T06:01:02.6404430Z       }
2026-06-06T06:01:02.6404835Z     },
2026-06-06T06:01:02.6405243Z     {
2026-06-06T06:01:02.6405694Z       "id": "REQ-INST-5",
2026-06-06T06:01:02.6406696Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-06T06:01:02.6407171Z       "requiredStages": [
2026-06-06T06:01:02.6407596Z         "impl",
2026-06-06T06:01:02.6408031Z         "unit",
2026-06-06T06:01:02.6408437Z         "int"
2026-06-06T06:01:02.6408850Z       ],
2026-06-06T06:01:02.6409307Z       "stages": {
2026-06-06T06:01:02.6409981Z         "doc": {
2026-06-06T06:01:02.6410630Z           "complete": false,
2026-06-06T06:01:02.6411091Z           "evidence": []
2026-06-06T06:01:02.6411514Z         },
2026-06-06T06:01:02.6411932Z         "impl": {
2026-06-06T06:01:02.6412407Z           "complete": true,
2026-06-06T06:01:02.6412847Z           "evidence": [
2026-06-06T06:01:02.6413267Z             {
2026-06-06T06:01:02.6413912Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-06T06:01:02.6414359Z               "line": 39
2026-06-06T06:01:02.6414796Z             },
2026-06-06T06:01:02.6415210Z             {
2026-06-06T06:01:02.6415813Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:01:02.6416253Z               "line": 68
2026-06-06T06:01:02.6416681Z             },
2026-06-06T06:01:02.6417091Z             {
2026-06-06T06:01:02.6417698Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:01:02.6418141Z               "line": 93
2026-06-06T06:01:02.6418549Z             },
2026-06-06T06:01:02.6418967Z             {
2026-06-06T06:01:02.6419794Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:01:02.6420438Z               "line": 160
2026-06-06T06:01:02.6420846Z             },
2026-06-06T06:01:02.6421267Z             {
2026-06-06T06:01:02.6421865Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:01:02.6422306Z               "line": 271
2026-06-06T06:01:02.6422720Z             }
2026-06-06T06:01:02.6423127Z           ]
2026-06-06T06:01:02.6423543Z         },
2026-06-06T06:01:02.6424114Z         "int": {
2026-06-06T06:01:02.6424588Z           "complete": true,
2026-06-06T06:01:02.6425033Z           "evidence": [
2026-06-06T06:01:02.6425437Z             {
2026-06-06T06:01:02.6426102Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:01:02.6426540Z               "line": 142
2026-06-06T06:01:02.6426961Z             },
2026-06-06T06:01:02.6427363Z             {
2026-06-06T06:01:02.6428045Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-06T06:01:02.6428500Z               "line": 102
2026-06-06T06:01:02.6428906Z             },
2026-06-06T06:01:02.6429704Z             {
2026-06-06T06:01:02.6430373Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.6430840Z               "line": 584
2026-06-06T06:01:02.6431277Z             },
2026-06-06T06:01:02.6431710Z             {
2026-06-06T06:01:02.6432392Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.6432845Z               "line": 846
2026-06-06T06:01:02.6433293Z             }
2026-06-06T06:01:02.6433719Z           ]
2026-06-06T06:01:02.6434157Z         },
2026-06-06T06:01:02.6434588Z         "unit": {
2026-06-06T06:01:02.6435077Z           "complete": true,
2026-06-06T06:01:02.6435542Z           "evidence": [
2026-06-06T06:01:02.6435962Z             {
2026-06-06T06:01:02.6436594Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:01:02.6437049Z               "line": 461
2026-06-06T06:01:02.6437485Z             },
2026-06-06T06:01:02.6437911Z             {
2026-06-06T06:01:02.6438541Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:01:02.6439021Z               "line": 495
2026-06-06T06:01:02.6439489Z             },
2026-06-06T06:01:02.6440064Z             {
2026-06-06T06:01:02.6440891Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-06T06:01:02.6442580Z               "line": 199
2026-06-06T06:01:02.6443787Z             }
2026-06-06T06:01:02.6444794Z           ]
2026-06-06T06:01:02.6445827Z         }
2026-06-06T06:01:02.6446831Z       }
2026-06-06T06:01:02.6447803Z     },
2026-06-06T06:01:02.6448770Z     {
2026-06-06T06:01:02.6449856Z       "id": "REQ-INST-6",
2026-06-06T06:01:02.6451723Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-06T06:01:02.6453853Z       "requiredStages": [
2026-06-06T06:01:02.6467126Z         "impl",
2026-06-06T06:01:02.6468199Z         "unit",
2026-06-06T06:01:02.6469232Z         "int"
2026-06-06T06:01:02.6470497Z       ],
2026-06-06T06:01:02.6471432Z       "stages": {
2026-06-06T06:01:02.6472425Z         "doc": {
2026-06-06T06:01:02.6473509Z           "complete": true,
2026-06-06T06:01:02.6474686Z           "evidence": [
2026-06-06T06:01:02.6475837Z             {
2026-06-06T06:01:02.6477081Z               "path": "docs/DEFERRED.md",
2026-06-06T06:01:02.6478592Z               "line": 13
2026-06-06T06:01:02.6479712Z             }
2026-06-06T06:01:02.6480656Z           ]
2026-06-06T06:01:02.6481571Z         },
2026-06-06T06:01:02.6482513Z         "impl": {
2026-06-06T06:01:02.6483541Z           "complete": true,
2026-06-06T06:01:02.6484695Z           "evidence": [
2026-06-06T06:01:02.6485750Z             {
2026-06-06T06:01:02.6486928Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:01:02.6488453Z               "line": 363
2026-06-06T06:01:02.6489569Z             },
2026-06-06T06:01:02.6490518Z             {
2026-06-06T06:01:02.6491688Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-06T06:01:02.6493218Z               "line": 27
2026-06-06T06:01:02.6494299Z             },
2026-06-06T06:01:02.6495261Z             {
2026-06-06T06:01:02.6496429Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-06T06:01:02.6497942Z               "line": 73
2026-06-06T06:01:02.6499015Z             },
2026-06-06T06:01:02.6499996Z             {
2026-06-06T06:01:02.6501171Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-06T06:01:02.6502700Z               "line": 165
2026-06-06T06:01:02.6504166Z             },
2026-06-06T06:01:02.6505127Z             {
2026-06-06T06:01:02.6506284Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6507791Z               "line": 415
2026-06-06T06:01:02.6508880Z             },
2026-06-06T06:01:02.6509867Z             {
2026-06-06T06:01:02.6510994Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-06T06:01:02.6512480Z               "line": 31
2026-06-06T06:01:02.6513560Z             },
2026-06-06T06:01:02.6514513Z             {
2026-06-06T06:01:02.6515666Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:01:02.6517317Z               "line": 168
2026-06-06T06:01:02.6518401Z             },
2026-06-06T06:01:02.6519381Z             {
2026-06-06T06:01:02.6520604Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:01:02.6522065Z               "line": 81
2026-06-06T06:01:02.6523155Z             },
2026-06-06T06:01:02.6524100Z             {
2026-06-06T06:01:02.6525188Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.6526590Z               "line": 933
2026-06-06T06:01:02.6527684Z             },
2026-06-06T06:01:02.6528639Z             {
2026-06-06T06:01:02.6529755Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:01:02.6531201Z               "line": 161
2026-06-06T06:01:02.6532303Z             },
2026-06-06T06:01:02.6533262Z             {
2026-06-06T06:01:02.6534354Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:01:02.6535795Z               "line": 190
2026-06-06T06:01:02.6536878Z             }
2026-06-06T06:01:02.6537812Z           ]
2026-06-06T06:01:02.6538737Z         },
2026-06-06T06:01:02.6539696Z         "int": {
2026-06-06T06:01:02.6540716Z           "complete": true,
2026-06-06T06:01:02.6541877Z           "evidence": [
2026-06-06T06:01:02.6542934Z             {
2026-06-06T06:01:02.6544118Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.6545657Z               "line": 594
2026-06-06T06:01:02.6546763Z             },
2026-06-06T06:01:02.6547709Z             {
2026-06-06T06:01:02.6548891Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.6550456Z               "line": 880
2026-06-06T06:01:02.6551559Z             },
2026-06-06T06:01:02.6552522Z             {
2026-06-06T06:01:02.6553619Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:01:02.6555060Z               "line": 549
2026-06-06T06:01:02.6556152Z             }
2026-06-06T06:01:02.6557094Z           ]
2026-06-06T06:01:02.6567023Z         },
2026-06-06T06:01:02.6568528Z         "unit": {
2026-06-06T06:01:02.6569784Z           "complete": true,
2026-06-06T06:01:02.6571174Z           "evidence": [
2026-06-06T06:01:02.6572423Z             {
2026-06-06T06:01:02.6573707Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:01:02.6575296Z               "line": 595
2026-06-06T06:01:02.6576522Z             },
2026-06-06T06:01:02.6577497Z             {
2026-06-06T06:01:02.6579488Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.6581585Z               "line": 783
2026-06-06T06:01:02.6582860Z             },
2026-06-06T06:01:02.6584075Z             {
2026-06-06T06:01:02.6585477Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-06T06:01:02.6587035Z               "line": 62
2026-06-06T06:01:02.6588173Z             },
2026-06-06T06:01:02.6589274Z             {
2026-06-06T06:01:02.6590574Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:01:02.6592244Z               "line": 252
2026-06-06T06:01:02.6593459Z             },
2026-06-06T06:01:02.6594500Z             {
2026-06-06T06:01:02.6595674Z               "path": "crates/spt/src/api/worker.rs",
2026-06-06T06:01:02.6597203Z               "line": 192
2026-06-06T06:01:02.6598362Z             }
2026-06-06T06:01:02.6599573Z           ]
2026-06-06T06:01:02.6600506Z         }
2026-06-06T06:01:02.6601435Z       }
2026-06-06T06:01:02.6602339Z     },
2026-06-06T06:01:02.6604463Z     {
2026-06-06T06:01:02.6605551Z       "id": "REQ-INST-7",
2026-06-06T06:01:02.6607054Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-06T06:01:02.6608771Z       "requiredStages": [
2026-06-06T06:01:02.6610010Z         "impl",
2026-06-06T06:01:02.6611042Z         "unit",
2026-06-06T06:01:02.6612057Z         "int"
2026-06-06T06:01:02.6613050Z       ],
2026-06-06T06:01:02.6614006Z       "stages": {
2026-06-06T06:01:02.6615043Z         "doc": {
2026-06-06T06:01:02.6616114Z           "complete": false,
2026-06-06T06:01:02.6617736Z           "evidence": []
2026-06-06T06:01:02.6618994Z         },
2026-06-06T06:01:02.6620383Z         "impl": {
2026-06-06T06:01:02.6621476Z           "complete": true,
2026-06-06T06:01:02.6622689Z           "evidence": [
2026-06-06T06:01:02.6623810Z             {
2026-06-06T06:01:02.6625038Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:01:02.6626636Z               "line": 398
2026-06-06T06:01:02.6627781Z             },
2026-06-06T06:01:02.6628801Z             {
2026-06-06T06:01:02.6630201Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-06T06:01:02.6631722Z               "line": 40
2026-06-06T06:01:02.6632812Z             },
2026-06-06T06:01:02.6633792Z             {
2026-06-06T06:01:02.6635018Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.6636586Z               "line": 27
2026-06-06T06:01:02.6637669Z             },
2026-06-06T06:01:02.6638627Z             {
2026-06-06T06:01:02.6640208Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.6641805Z               "line": 144
2026-06-06T06:01:02.6642959Z             },
2026-06-06T06:01:02.6643943Z             {
2026-06-06T06:01:02.6645174Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.6646764Z               "line": 231
2026-06-06T06:01:02.6647874Z             },
2026-06-06T06:01:02.6648848Z             {
2026-06-06T06:01:02.6650240Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-06T06:01:02.6651814Z               "line": 56
2026-06-06T06:01:02.6652938Z             },
2026-06-06T06:01:02.6653935Z             {
2026-06-06T06:01:02.6655180Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6656765Z               "line": 41
2026-06-06T06:01:02.6657892Z             },
2026-06-06T06:01:02.6658888Z             {
2026-06-06T06:01:02.6660317Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-06T06:01:02.6661867Z               "line": 27
2026-06-06T06:01:02.6662957Z             },
2026-06-06T06:01:02.6663931Z             {
2026-06-06T06:01:02.6665166Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-06T06:01:02.6666717Z               "line": 59
2026-06-06T06:01:02.6667807Z             },
2026-06-06T06:01:02.6676717Z             {
2026-06-06T06:01:02.6678025Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-06T06:01:02.6679986Z               "line": 68
2026-06-06T06:01:02.6681123Z             },
2026-06-06T06:01:02.6682097Z             {
2026-06-06T06:01:02.6683300Z               "path": "crates/spt-store/src/registry.rs",
2026-06-06T06:01:02.6684830Z               "line": 129
2026-06-06T06:01:02.6685937Z             }
2026-06-06T06:01:02.6686904Z           ]
2026-06-06T06:01:02.6687839Z         },
2026-06-06T06:01:02.6688769Z         "int": {
2026-06-06T06:01:02.6690226Z           "complete": true,
2026-06-06T06:01:02.6691408Z           "evidence": [
2026-06-06T06:01:02.6692479Z             {
2026-06-06T06:01:02.6693709Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-06T06:01:02.6695307Z               "line": 102
2026-06-06T06:01:02.6696417Z             },
2026-06-06T06:01:02.6697379Z             {
2026-06-06T06:01:02.6698572Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.6700454Z               "line": 548
2026-06-06T06:01:02.6701562Z             },
2026-06-06T06:01:02.6702534Z             {
2026-06-06T06:01:02.6704092Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.6705640Z               "line": 762
2026-06-06T06:01:02.6706744Z             }
2026-06-06T06:01:02.6707699Z           ]
2026-06-06T06:01:02.6708632Z         },
2026-06-06T06:01:02.6709910Z         "unit": {
2026-06-06T06:01:02.6710959Z           "complete": true,
2026-06-06T06:01:02.6712125Z           "evidence": [
2026-06-06T06:01:02.6713197Z             {
2026-06-06T06:01:02.6714450Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.6716035Z               "line": 458
2026-06-06T06:01:02.6717130Z             },
2026-06-06T06:01:02.6718295Z             {
2026-06-06T06:01:02.6719579Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.6721176Z               "line": 668
2026-06-06T06:01:02.6722271Z             },
2026-06-06T06:01:02.6723230Z             {
2026-06-06T06:01:02.6724465Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-06T06:01:02.6726058Z               "line": 83
2026-06-06T06:01:02.6727154Z             },
2026-06-06T06:01:02.6728124Z             {
2026-06-06T06:01:02.6729351Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6730889Z               "line": 611
2026-06-06T06:01:02.6731995Z             },
2026-06-06T06:01:02.6732957Z             {
2026-06-06T06:01:02.6734167Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6735713Z               "line": 622
2026-06-06T06:01:02.6736816Z             },
2026-06-06T06:01:02.6737790Z             {
2026-06-06T06:01:02.6738973Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6740572Z               "line": 631
2026-06-06T06:01:02.6741683Z             },
2026-06-06T06:01:02.6742646Z             {
2026-06-06T06:01:02.6743852Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-06T06:01:02.6745424Z               "line": 90
2026-06-06T06:01:02.6746507Z             },
2026-06-06T06:01:02.6747480Z             {
2026-06-06T06:01:02.6748677Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-06T06:01:02.6750269Z               "line": 105
2026-06-06T06:01:02.6751381Z             },
2026-06-06T06:01:02.6752339Z             {
2026-06-06T06:01:02.6753536Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-06T06:01:02.6755095Z               "line": 131
2026-06-06T06:01:02.6756204Z             }
2026-06-06T06:01:02.6757158Z           ]
2026-06-06T06:01:02.6758082Z         }
2026-06-06T06:01:02.6758997Z       }
2026-06-06T06:01:02.6759936Z     },
2026-06-06T06:01:02.6760852Z     {
2026-06-06T06:01:02.6761815Z       "id": "REQ-INST-8",
2026-06-06T06:01:02.6763347Z       "title": "Remote-control mode distinct from local operation",
2026-06-06T06:01:02.6765123Z       "requiredStages": [
2026-06-06T06:01:02.6766257Z         "impl",
2026-06-06T06:01:02.6767229Z         "unit",
2026-06-06T06:01:02.6768206Z         "int"
2026-06-06T06:01:02.6769194Z       ],
2026-06-06T06:01:02.6770136Z       "stages": {
2026-06-06T06:01:02.6771135Z         "doc": {
2026-06-06T06:01:02.6772178Z           "complete": false,
2026-06-06T06:01:02.6779041Z           "evidence": []
2026-06-06T06:01:02.6780374Z         },
2026-06-06T06:01:02.6781305Z         "impl": {
2026-06-06T06:01:02.6782355Z           "complete": true,
2026-06-06T06:01:02.6783522Z           "evidence": [
2026-06-06T06:01:02.6784590Z             {
2026-06-06T06:01:02.6785756Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-06T06:01:02.6787260Z               "line": 98
2026-06-06T06:01:02.6788348Z             },
2026-06-06T06:01:02.6789389Z             {
2026-06-06T06:01:02.6790562Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-06T06:01:02.6792075Z               "line": 202
2026-06-06T06:01:02.6793170Z             },
2026-06-06T06:01:02.6794123Z             {
2026-06-06T06:01:02.6795280Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-06T06:01:02.6796791Z               "line": 220
2026-06-06T06:01:02.6798164Z             },
2026-06-06T06:01:02.6799143Z             {
2026-06-06T06:01:02.6800340Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-06T06:01:02.6801857Z               "line": 35
2026-06-06T06:01:02.6802945Z             }
2026-06-06T06:01:02.6803901Z           ]
2026-06-06T06:01:02.6804833Z         },
2026-06-06T06:01:02.6805758Z         "int": {
2026-06-06T06:01:02.6806781Z           "complete": true,
2026-06-06T06:01:02.6807952Z           "evidence": [
2026-06-06T06:01:02.6809027Z             {
2026-06-06T06:01:02.6810272Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:01:02.6812008Z               "line": 375
2026-06-06T06:01:02.6813104Z             },
2026-06-06T06:01:02.6814066Z             {
2026-06-06T06:01:02.6815255Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.6816782Z               "line": 811
2026-06-06T06:01:02.6817872Z             }
2026-06-06T06:01:02.6818835Z           ]
2026-06-06T06:01:02.6819832Z         },
2026-06-06T06:01:02.6820761Z         "unit": {
2026-06-06T06:01:02.6821801Z           "complete": true,
2026-06-06T06:01:02.6822959Z           "evidence": [
2026-06-06T06:01:02.6824024Z             {
2026-06-06T06:01:02.6825199Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-06T06:01:02.6826724Z               "line": 172
2026-06-06T06:01:02.6827830Z             },
2026-06-06T06:01:02.6828793Z             {
2026-06-06T06:01:02.6830017Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-06T06:01:02.6831537Z               "line": 226
2026-06-06T06:01:02.6832641Z             },
2026-06-06T06:01:02.6833617Z             {
2026-06-06T06:01:02.6834776Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-06T06:01:02.6836279Z               "line": 70
2026-06-06T06:01:02.6837368Z             },
2026-06-06T06:01:02.6838341Z             {
2026-06-06T06:01:02.6839544Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-06T06:01:02.6841065Z               "line": 101
2026-06-06T06:01:02.6842168Z             }
2026-06-06T06:01:02.6843118Z           ]
2026-06-06T06:01:02.6844042Z         }
2026-06-06T06:01:02.6844951Z       }
2026-06-06T06:01:02.6845840Z     },
2026-06-06T06:01:02.6846740Z     {
2026-06-06T06:01:02.6847691Z       "id": "REQ-INST-9",
2026-06-06T06:01:02.6849444Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-06T06:01:02.6851436Z       "requiredStages": [
2026-06-06T06:01:02.6852572Z         "impl",
2026-06-06T06:01:02.6853562Z         "unit"
2026-06-06T06:01:02.6854521Z       ],
2026-06-06T06:01:02.6855506Z       "stages": {
2026-06-06T06:01:02.6856514Z         "doc": {
2026-06-06T06:01:02.6857560Z           "complete": false,
2026-06-06T06:01:02.6858768Z           "evidence": []
2026-06-06T06:01:02.6859904Z         },
2026-06-06T06:01:02.6860852Z         "impl": {
2026-06-06T06:01:02.6861900Z           "complete": true,
2026-06-06T06:01:02.6863065Z           "evidence": [
2026-06-06T06:01:02.6864146Z             {
2026-06-06T06:01:02.6865337Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6866879Z               "line": 291
2026-06-06T06:01:02.6867988Z             }
2026-06-06T06:01:02.6868936Z           ]
2026-06-06T06:01:02.6869905Z         },
2026-06-06T06:01:02.6870837Z         "int": {
2026-06-06T06:01:02.6871871Z           "complete": false,
2026-06-06T06:01:02.6878453Z           "evidence": []
2026-06-06T06:01:02.6879781Z         },
2026-06-06T06:01:02.6880727Z         "unit": {
2026-06-06T06:01:02.6881779Z           "complete": true,
2026-06-06T06:01:02.6882943Z           "evidence": [
2026-06-06T06:01:02.6884039Z             {
2026-06-06T06:01:02.6885226Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6886764Z               "line": 979
2026-06-06T06:01:02.6887858Z             },
2026-06-06T06:01:02.6888818Z             {
2026-06-06T06:01:02.6890032Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6891841Z               "line": 988
2026-06-06T06:01:02.6892956Z             },
2026-06-06T06:01:02.6893928Z             {
2026-06-06T06:01:02.6895108Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6896642Z               "line": 1002
2026-06-06T06:01:02.6897755Z             },
2026-06-06T06:01:02.6898998Z             {
2026-06-06T06:01:02.6900581Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6902290Z               "line": 1012
2026-06-06T06:01:02.6903563Z             },
2026-06-06T06:01:02.6904733Z             {
2026-06-06T06:01:02.6906015Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.6907943Z               "line": 1031
2026-06-06T06:01:02.6909428Z             }
2026-06-06T06:01:02.6910657Z           ]
2026-06-06T06:01:02.6911661Z         }
2026-06-06T06:01:02.6912658Z       }
2026-06-06T06:01:02.6913653Z     },
2026-06-06T06:01:02.6914700Z     {
2026-06-06T06:01:02.6915758Z       "id": "REQ-INSTALL-1",
2026-06-06T06:01:02.6917719Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-06T06:01:02.6920265Z       "requiredStages": [
2026-06-06T06:01:02.6921573Z         "doc",
2026-06-06T06:01:02.6922598Z         "impl",
2026-06-06T06:01:02.6923622Z         "int"
2026-06-06T06:01:02.6924613Z       ],
2026-06-06T06:01:02.6925585Z       "stages": {
2026-06-06T06:01:02.6926616Z         "doc": {
2026-06-06T06:01:02.6927696Z           "complete": true,
2026-06-06T06:01:02.6928899Z           "evidence": [
2026-06-06T06:01:02.6930247Z             {
2026-06-06T06:01:02.6931344Z               "path": "CONTEXT.md",
2026-06-06T06:01:02.6932706Z               "line": 550
2026-06-06T06:01:02.6933874Z             }
2026-06-06T06:01:02.6934876Z           ]
2026-06-06T06:01:02.6935865Z         },
2026-06-06T06:01:02.6936849Z         "impl": {
2026-06-06T06:01:02.6937954Z           "complete": true,
2026-06-06T06:01:02.6939288Z           "evidence": [
2026-06-06T06:01:02.6940588Z             {
2026-06-06T06:01:02.6941781Z               "path": "installer/install.ps1",
2026-06-06T06:01:02.6943271Z               "line": 50
2026-06-06T06:01:02.6944434Z             },
2026-06-06T06:01:02.6945469Z             {
2026-06-06T06:01:02.6946585Z               "path": "installer/install.sh",
2026-06-06T06:01:02.6948036Z               "line": 49
2026-06-06T06:01:02.6949250Z             }
2026-06-06T06:01:02.6950581Z           ]
2026-06-06T06:01:02.6951533Z         },
2026-06-06T06:01:02.6952497Z         "int": {
2026-06-06T06:01:02.6953616Z           "complete": true,
2026-06-06T06:01:02.6954916Z           "evidence": [
2026-06-06T06:01:02.6956103Z             {
2026-06-06T06:01:02.6957320Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-06T06:01:02.6958894Z               "line": 21
2026-06-06T06:01:02.6960407Z             }
2026-06-06T06:01:02.6961419Z           ]
2026-06-06T06:01:02.6962409Z         },
2026-06-06T06:01:02.6963377Z         "unit": {
2026-06-06T06:01:02.6964438Z           "complete": false,
2026-06-06T06:01:02.6965684Z           "evidence": []
2026-06-06T06:01:02.6966828Z         }
2026-06-06T06:01:02.6967779Z       }
2026-06-06T06:01:02.6968742Z     },
2026-06-06T06:01:02.6970241Z     {
2026-06-06T06:01:02.6971556Z       "id": "REQ-INSTALL-2",
2026-06-06T06:01:02.6973343Z       "title": "Marketplace-repackaging-friendly install",
2026-06-06T06:01:02.6975216Z       "requiredStages": [
2026-06-06T06:01:02.6976478Z         "doc"
2026-06-06T06:01:02.6977521Z       ],
2026-06-06T06:01:02.6978542Z       "stages": {
2026-06-06T06:01:02.6987445Z         "doc": {
2026-06-06T06:01:02.6988792Z           "complete": true,
2026-06-06T06:01:02.6990232Z           "evidence": [
2026-06-06T06:01:02.6992286Z             {
2026-06-06T06:01:02.6993693Z               "path": "CONTEXT.md",
2026-06-06T06:01:02.6995135Z               "line": 551
2026-06-06T06:01:02.6996347Z             }
2026-06-06T06:01:02.6997417Z           ]
2026-06-06T06:01:02.6998423Z         },
2026-06-06T06:01:02.7000071Z         "impl": {
2026-06-06T06:01:02.7001204Z           "complete": false,
2026-06-06T06:01:02.7002569Z           "evidence": []
2026-06-06T06:01:02.7003751Z         },
2026-06-06T06:01:02.7004738Z         "int": {
2026-06-06T06:01:02.7005847Z           "complete": false,
2026-06-06T06:01:02.7007120Z           "evidence": []
2026-06-06T06:01:02.7008329Z         },
2026-06-06T06:01:02.7009452Z         "unit": {
2026-06-06T06:01:02.7010745Z           "complete": false,
2026-06-06T06:01:02.7012018Z           "evidence": []
2026-06-06T06:01:02.7013165Z         }
2026-06-06T06:01:02.7014142Z       }
2026-06-06T06:01:02.7015466Z     },
2026-06-06T06:01:02.7016430Z     {
2026-06-06T06:01:02.7017452Z       "id": "REQ-INSTALL-3",
2026-06-06T06:01:02.7019041Z       "title": "Idempotent + interactive-optional first run",
2026-06-06T06:01:02.7021169Z       "requiredStages": [
2026-06-06T06:01:02.7022366Z         "impl",
2026-06-06T06:01:02.7023392Z         "int"
2026-06-06T06:01:02.7024406Z       ],
2026-06-06T06:01:02.7025430Z       "stages": {
2026-06-06T06:01:02.7026537Z         "doc": {
2026-06-06T06:01:02.7027665Z           "complete": false,
2026-06-06T06:01:02.7028914Z           "evidence": []
2026-06-06T06:01:02.7030308Z         },
2026-06-06T06:01:02.7031336Z         "impl": {
2026-06-06T06:01:02.7032482Z           "complete": true,
2026-06-06T06:01:02.7033761Z           "evidence": [
2026-06-06T06:01:02.7034970Z             {
2026-06-06T06:01:02.7036182Z               "path": "installer/install.ps1",
2026-06-06T06:01:02.7037703Z               "line": 93
2026-06-06T06:01:02.7038890Z             },
2026-06-06T06:01:02.7040147Z             {
2026-06-06T06:01:02.7041292Z               "path": "installer/install.sh",
2026-06-06T06:01:02.7042764Z               "line": 76
2026-06-06T06:01:02.7043900Z             }
2026-06-06T06:01:02.7044930Z           ]
2026-06-06T06:01:02.7045926Z         },
2026-06-06T06:01:02.7046874Z         "int": {
2026-06-06T06:01:02.7047967Z           "complete": true,
2026-06-06T06:01:02.7049466Z           "evidence": [
2026-06-06T06:01:02.7050951Z             {
2026-06-06T06:01:02.7052218Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-06T06:01:02.7053820Z               "line": 152
2026-06-06T06:01:02.7054967Z             }
2026-06-06T06:01:02.7055974Z           ]
2026-06-06T06:01:02.7056960Z         },
2026-06-06T06:01:02.7057968Z         "unit": {
2026-06-06T06:01:02.7059088Z           "complete": false,
2026-06-06T06:01:02.7060779Z           "evidence": []
2026-06-06T06:01:02.7061924Z         }
2026-06-06T06:01:02.7062901Z       }
2026-06-06T06:01:02.7063860Z     },
2026-06-06T06:01:02.7064862Z     {
2026-06-06T06:01:02.7067005Z       "id": "REQ-INSTALL-4",
2026-06-06T06:01:02.7072474Z       "title": "Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over",
2026-06-06T06:01:02.7078095Z       "requiredStages": [
2026-06-06T06:01:02.7079501Z         "impl",
2026-06-06T06:01:02.7080575Z         "unit"
2026-06-06T06:01:02.7081658Z       ],
2026-06-06T06:01:02.7082644Z       "stages": {
2026-06-06T06:01:02.7083707Z         "doc": {
2026-06-06T06:01:02.7084828Z           "complete": false,
2026-06-06T06:01:02.7086122Z           "evidence": []
2026-06-06T06:01:02.7087286Z         },
2026-06-06T06:01:02.7088294Z         "impl": {
2026-06-06T06:01:02.7089506Z           "complete": true,
2026-06-06T06:01:02.7090762Z           "evidence": [
2026-06-06T06:01:02.7091898Z             {
2026-06-06T06:01:02.7093238Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:01:02.7094985Z               "line": 149
2026-06-06T06:01:02.7096175Z             },
2026-06-06T06:01:02.7104827Z             {
2026-06-06T06:01:02.7106198Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-06T06:01:02.7107873Z               "line": 29
2026-06-06T06:01:02.7109055Z             },
2026-06-06T06:01:02.7110666Z             {
2026-06-06T06:01:02.7111355Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-06T06:01:02.7111830Z               "line": 117
2026-06-06T06:01:02.7112267Z             },
2026-06-06T06:01:02.7112700Z             {
2026-06-06T06:01:02.7113386Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-06T06:01:02.7113863Z               "line": 161
2026-06-06T06:01:02.7114323Z             },
2026-06-06T06:01:02.7114762Z             {
2026-06-06T06:01:02.7115462Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-06T06:01:02.7115946Z               "line": 191
2026-06-06T06:01:02.7116662Z             },
2026-06-06T06:01:02.7117110Z             {
2026-06-06T06:01:02.7117785Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-06T06:01:02.7118258Z               "line": 223
2026-06-06T06:01:02.7118694Z             },
2026-06-06T06:01:02.7119139Z             {
2026-06-06T06:01:02.7119800Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7120308Z               "line": 2331
2026-06-06T06:01:02.7120750Z             }
2026-06-06T06:01:02.7121179Z           ]
2026-06-06T06:01:02.7121618Z         },
2026-06-06T06:01:02.7122058Z         "int": {
2026-06-06T06:01:02.7122553Z           "complete": false,
2026-06-06T06:01:02.7123046Z           "evidence": []
2026-06-06T06:01:02.7123492Z         },
2026-06-06T06:01:02.7123948Z         "unit": {
2026-06-06T06:01:02.7124433Z           "complete": true,
2026-06-06T06:01:02.7124908Z           "evidence": [
2026-06-06T06:01:02.7125342Z             {
2026-06-06T06:01:02.7126105Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:01:02.7126653Z               "line": 311
2026-06-06T06:01:02.7127128Z             },
2026-06-06T06:01:02.7127586Z             {
2026-06-06T06:01:02.7128292Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-06T06:01:02.7128795Z               "line": 269
2026-06-06T06:01:02.7129303Z             },
2026-06-06T06:01:02.7129804Z             {
2026-06-06T06:01:02.7130534Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-06T06:01:02.7131030Z               "line": 304
2026-06-06T06:01:02.7131485Z             },
2026-06-06T06:01:02.7131920Z             {
2026-06-06T06:01:02.7132626Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-06T06:01:02.7133119Z               "line": 321
2026-06-06T06:01:02.7133601Z             },
2026-06-06T06:01:02.7134069Z             {
2026-06-06T06:01:02.7134648Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7135142Z               "line": 3545
2026-06-06T06:01:02.7135591Z             }
2026-06-06T06:01:02.7136046Z           ]
2026-06-06T06:01:02.7136482Z         }
2026-06-06T06:01:02.7136923Z       }
2026-06-06T06:01:02.7137353Z     },
2026-06-06T06:01:02.7137777Z     {
2026-06-06T06:01:02.7138281Z       "id": "REQ-INSTALL-5",
2026-06-06T06:01:02.7141650Z       "title": "Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration",
2026-06-06T06:01:02.7142214Z       "requiredStages": [
2026-06-06T06:01:02.7142688Z         "impl",
2026-06-06T06:01:02.7143129Z         "int"
2026-06-06T06:01:02.7143565Z       ],
2026-06-06T06:01:02.7143995Z       "stages": {
2026-06-06T06:01:02.7144444Z         "doc": {
2026-06-06T06:01:02.7144923Z           "complete": false,
2026-06-06T06:01:02.7145401Z           "evidence": []
2026-06-06T06:01:02.7145821Z         },
2026-06-06T06:01:02.7146284Z         "impl": {
2026-06-06T06:01:02.7146776Z           "complete": true,
2026-06-06T06:01:02.7148254Z           "evidence": [
2026-06-06T06:01:02.7148771Z             {
2026-06-06T06:01:02.7149559Z               "path": "installer/install.ps1",
2026-06-06T06:01:02.7150017Z               "line": 5
2026-06-06T06:01:02.7150449Z             },
2026-06-06T06:01:02.7150870Z             {
2026-06-06T06:01:02.7151423Z               "path": "installer/install.sh",
2026-06-06T06:01:02.7152226Z               "line": 6
2026-06-06T06:01:02.7152666Z             }
2026-06-06T06:01:02.7153073Z           ]
2026-06-06T06:01:02.7153499Z         },
2026-06-06T06:01:02.7153940Z         "int": {
2026-06-06T06:01:02.7154424Z           "complete": true,
2026-06-06T06:01:02.7154892Z           "evidence": [
2026-06-06T06:01:02.7155320Z             {
2026-06-06T06:01:02.7155993Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-06T06:01:02.7156465Z               "line": 22
2026-06-06T06:01:02.7156906Z             }
2026-06-06T06:01:02.7157349Z           ]
2026-06-06T06:01:02.7157793Z         },
2026-06-06T06:01:02.7158495Z         "unit": {
2026-06-06T06:01:02.7158984Z           "complete": false,
2026-06-06T06:01:02.7159666Z           "evidence": []
2026-06-06T06:01:02.7160407Z         }
2026-06-06T06:01:02.7160845Z       }
2026-06-06T06:01:02.7161263Z     },
2026-06-06T06:01:02.7161690Z     {
2026-06-06T06:01:02.7162185Z       "id": "REQ-MANIFEST-1",
2026-06-06T06:01:02.7163299Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-06T06:01:02.7163810Z       "requiredStages": [
2026-06-06T06:01:02.7164251Z         "doc",
2026-06-06T06:01:02.7164701Z         "impl",
2026-06-06T06:01:02.7165137Z         "unit"
2026-06-06T06:01:02.7165576Z       ],
2026-06-06T06:01:02.7166032Z       "stages": {
2026-06-06T06:01:02.7166473Z         "doc": {
2026-06-06T06:01:02.7166966Z           "complete": true,
2026-06-06T06:01:02.7167424Z           "evidence": [
2026-06-06T06:01:02.7167858Z             {
2026-06-06T06:01:02.7168378Z               "path": "docs/MANIFEST.md",
2026-06-06T06:01:02.7168866Z               "line": 19
2026-06-06T06:01:02.7169505Z             }
2026-06-06T06:01:02.7170085Z           ]
2026-06-06T06:01:02.7170517Z         },
2026-06-06T06:01:02.7170975Z         "impl": {
2026-06-06T06:01:02.7171481Z           "complete": true,
2026-06-06T06:01:02.7171938Z           "evidence": [
2026-06-06T06:01:02.7172386Z             {
2026-06-06T06:01:02.7173082Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.7173527Z               "line": 18
2026-06-06T06:01:02.7173969Z             }
2026-06-06T06:01:02.7174393Z           ]
2026-06-06T06:01:02.7174827Z         },
2026-06-06T06:01:02.7175256Z         "int": {
2026-06-06T06:01:02.7175759Z           "complete": false,
2026-06-06T06:01:02.7176222Z           "evidence": []
2026-06-06T06:01:02.7176638Z         },
2026-06-06T06:01:02.7177084Z         "unit": {
2026-06-06T06:01:02.7177544Z           "complete": true,
2026-06-06T06:01:02.7178004Z           "evidence": [
2026-06-06T06:01:02.7178419Z             {
2026-06-06T06:01:02.7179136Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.7179849Z               "line": 746
2026-06-06T06:01:02.7180441Z             },
2026-06-06T06:01:02.7180876Z             {
2026-06-06T06:01:02.7181533Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.7181991Z               "line": 842
2026-06-06T06:01:02.7182410Z             },
2026-06-06T06:01:02.7182834Z             {
2026-06-06T06:01:02.7183495Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.7183952Z               "line": 854
2026-06-06T06:01:02.7184375Z             },
2026-06-06T06:01:02.7184779Z             {
2026-06-06T06:01:02.7185436Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.7185892Z               "line": 862
2026-06-06T06:01:02.7186311Z             },
2026-06-06T06:01:02.7186729Z             {
2026-06-06T06:01:02.7187388Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.7187859Z               "line": 879
2026-06-06T06:01:02.7188283Z             },
2026-06-06T06:01:02.7188714Z             {
2026-06-06T06:01:02.7189592Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.7190337Z               "line": 893
2026-06-06T06:01:02.7190777Z             },
2026-06-06T06:01:02.7191208Z             {
2026-06-06T06:01:02.7192234Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.7200959Z               "line": 908
2026-06-06T06:01:02.7201617Z             },
2026-06-06T06:01:02.7202198Z             {
2026-06-06T06:01:02.7202897Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.7203355Z               "line": 923
2026-06-06T06:01:02.7203768Z             },
2026-06-06T06:01:02.7204181Z             {
2026-06-06T06:01:02.7204819Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.7205273Z               "line": 938
2026-06-06T06:01:02.7205689Z             },
2026-06-06T06:01:02.7206533Z             {
2026-06-06T06:01:02.7207216Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.7207668Z               "line": 949
2026-06-06T06:01:02.7208114Z             }
2026-06-06T06:01:02.7208522Z           ]
2026-06-06T06:01:02.7208946Z         }
2026-06-06T06:01:02.7209450Z       }
2026-06-06T06:01:02.7210061Z     },
2026-06-06T06:01:02.7210519Z     {
2026-06-06T06:01:02.7211012Z       "id": "REQ-MIGRATE-1",
2026-06-06T06:01:02.7212033Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-06T06:01:02.7212545Z       "requiredStages": [],
2026-06-06T06:01:02.7213014Z       "stages": {
2026-06-06T06:01:02.7213467Z         "doc": {
2026-06-06T06:01:02.7213957Z           "complete": false,
2026-06-06T06:01:02.7214436Z           "evidence": []
2026-06-06T06:01:02.7214860Z         },
2026-06-06T06:01:02.7215313Z         "impl": {
2026-06-06T06:01:02.7215797Z           "complete": false,
2026-06-06T06:01:02.7216283Z           "evidence": []
2026-06-06T06:01:02.7216746Z         },
2026-06-06T06:01:02.7217186Z         "int": {
2026-06-06T06:01:02.7217694Z           "complete": false,
2026-06-06T06:01:02.7218156Z           "evidence": []
2026-06-06T06:01:02.7218602Z         },
2026-06-06T06:01:02.7219047Z         "unit": {
2026-06-06T06:01:02.7219641Z           "complete": false,
2026-06-06T06:01:02.7220454Z           "evidence": []
2026-06-06T06:01:02.7220900Z         }
2026-06-06T06:01:02.7221353Z       }
2026-06-06T06:01:02.7221775Z     },
2026-06-06T06:01:02.7222214Z     {
2026-06-06T06:01:02.7222687Z       "id": "REQ-MSG-1",
2026-06-06T06:01:02.7225533Z       "title": "Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)",
2026-06-06T06:01:02.7226066Z       "requiredStages": [
2026-06-06T06:01:02.7226496Z         "impl",
2026-06-06T06:01:02.7226930Z         "unit",
2026-06-06T06:01:02.7227343Z         "int"
2026-06-06T06:01:02.7227802Z       ],
2026-06-06T06:01:02.7228239Z       "stages": {
2026-06-06T06:01:02.7228678Z         "doc": {
2026-06-06T06:01:02.7229234Z           "complete": false,
2026-06-06T06:01:02.7230029Z           "evidence": []
2026-06-06T06:01:02.7230458Z         },
2026-06-06T06:01:02.7230886Z         "impl": {
2026-06-06T06:01:02.7231362Z           "complete": true,
2026-06-06T06:01:02.7231822Z           "evidence": [
2026-06-06T06:01:02.7232254Z             {
2026-06-06T06:01:02.7232867Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:01:02.7233299Z               "line": 28
2026-06-06T06:01:02.7233727Z             },
2026-06-06T06:01:02.7234141Z             {
2026-06-06T06:01:02.7234748Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:01:02.7235188Z               "line": 94
2026-06-06T06:01:02.7235614Z             },
2026-06-06T06:01:02.7236039Z             {
2026-06-06T06:01:02.7236634Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:01:02.7237106Z               "line": 127
2026-06-06T06:01:02.7237530Z             },
2026-06-06T06:01:02.7237955Z             {
2026-06-06T06:01:02.7238553Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:01:02.7239016Z               "line": 149
2026-06-06T06:01:02.7239669Z             },
2026-06-06T06:01:02.7240252Z             {
2026-06-06T06:01:02.7240860Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:01:02.7241683Z               "line": 174
2026-06-06T06:01:02.7242122Z             },
2026-06-06T06:01:02.7242540Z             {
2026-06-06T06:01:02.7243156Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-06T06:01:02.7243628Z               "line": 18
2026-06-06T06:01:02.7244074Z             },
2026-06-06T06:01:02.7244520Z             {
2026-06-06T06:01:02.7245096Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:01:02.7245550Z               "line": 13
2026-06-06T06:01:02.7245968Z             },
2026-06-06T06:01:02.7246381Z             {
2026-06-06T06:01:02.7247147Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:01:02.7247594Z               "line": 61
2026-06-06T06:01:02.7248039Z             },
2026-06-06T06:01:02.7248471Z             {
2026-06-06T06:01:02.7249102Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-06T06:01:02.7249827Z               "line": 10
2026-06-06T06:01:02.7250297Z             }
2026-06-06T06:01:02.7250797Z           ]
2026-06-06T06:01:02.7251246Z         },
2026-06-06T06:01:02.7251706Z         "int": {
2026-06-06T06:01:02.7252197Z           "complete": true,
2026-06-06T06:01:02.7252695Z           "evidence": [
2026-06-06T06:01:02.7253152Z             {
2026-06-06T06:01:02.7253961Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-06T06:01:02.7254444Z               "line": 9
2026-06-06T06:01:02.7254892Z             },
2026-06-06T06:01:02.7255342Z             {
2026-06-06T06:01:02.7256116Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-06T06:01:02.7256626Z               "line": 66
2026-06-06T06:01:02.7257088Z             },
2026-06-06T06:01:02.7257534Z             {
2026-06-06T06:01:02.7258311Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-06T06:01:02.7258785Z               "line": 116
2026-06-06T06:01:02.7259297Z             }
2026-06-06T06:01:02.7259894Z           ]
2026-06-06T06:01:02.7260356Z         },
2026-06-06T06:01:02.7260922Z         "unit": {
2026-06-06T06:01:02.7261386Z           "complete": true,
2026-06-06T06:01:02.7261845Z           "evidence": [
2026-06-06T06:01:02.7262268Z             {
2026-06-06T06:01:02.7262886Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:01:02.7263343Z               "line": 203
2026-06-06T06:01:02.7263779Z             },
2026-06-06T06:01:02.7264214Z             {
2026-06-06T06:01:02.7264817Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:01:02.7265275Z               "line": 232
2026-06-06T06:01:02.7265704Z             },
2026-06-06T06:01:02.7266151Z             {
2026-06-06T06:01:02.7266761Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:01:02.7267237Z               "line": 277
2026-06-06T06:01:02.7267667Z             },
2026-06-06T06:01:02.7268083Z             {
2026-06-06T06:01:02.7268712Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:01:02.7269239Z               "line": 300
2026-06-06T06:01:02.7269914Z             },
2026-06-06T06:01:02.7270365Z             {
2026-06-06T06:01:02.7271023Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-06T06:01:02.7271523Z               "line": 322
2026-06-06T06:01:02.7271978Z             },
2026-06-06T06:01:02.7272426Z             {
2026-06-06T06:01:02.7273089Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-06T06:01:02.7273594Z               "line": 203
2026-06-06T06:01:02.7274037Z             },
2026-06-06T06:01:02.7274486Z             {
2026-06-06T06:01:02.7275144Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-06T06:01:02.7275637Z               "line": 233
2026-06-06T06:01:02.7276092Z             },
2026-06-06T06:01:02.7276541Z             {
2026-06-06T06:01:02.7277211Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-06T06:01:02.7277704Z               "line": 247
2026-06-06T06:01:02.7278143Z             },
2026-06-06T06:01:02.7278590Z             {
2026-06-06T06:01:02.7279841Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-06T06:01:02.7280326Z               "line": 259
2026-06-06T06:01:02.7280764Z             },
2026-06-06T06:01:02.7281203Z             {
2026-06-06T06:01:02.7281786Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:01:02.7282249Z               "line": 158
2026-06-06T06:01:02.7282706Z             },
2026-06-06T06:01:02.7283148Z             {
2026-06-06T06:01:02.7283745Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-06T06:01:02.7284199Z               "line": 235
2026-06-06T06:01:02.7284630Z             },
2026-06-06T06:01:02.7285286Z             {
2026-06-06T06:01:02.7285863Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-06T06:01:02.7286311Z               "line": 68
2026-06-06T06:01:02.7294612Z             },
2026-06-06T06:01:02.7295293Z             {
2026-06-06T06:01:02.7295914Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-06T06:01:02.7296383Z               "line": 74
2026-06-06T06:01:02.7296891Z             },
2026-06-06T06:01:02.7297318Z             {
2026-06-06T06:01:02.7297919Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-06T06:01:02.7298377Z               "line": 80
2026-06-06T06:01:02.7298819Z             },
2026-06-06T06:01:02.7299329Z             {
2026-06-06T06:01:02.7299946Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-06T06:01:02.7300416Z               "line": 99
2026-06-06T06:01:02.7300842Z             }
2026-06-06T06:01:02.7301276Z           ]
2026-06-06T06:01:02.7301700Z         }
2026-06-06T06:01:02.7302143Z       }
2026-06-06T06:01:02.7302564Z     },
2026-06-06T06:01:02.7303020Z     {
2026-06-06T06:01:02.7303507Z       "id": "REQ-MSG-2",
2026-06-06T06:01:02.7305217Z       "title": "spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes",
2026-06-06T06:01:02.7305770Z       "requiredStages": [
2026-06-06T06:01:02.7306247Z         "impl",
2026-06-06T06:01:02.7306718Z         "unit"
2026-06-06T06:01:02.7307186Z       ],
2026-06-06T06:01:02.7307686Z       "stages": {
2026-06-06T06:01:02.7308156Z         "doc": {
2026-06-06T06:01:02.7308673Z           "complete": false,
2026-06-06T06:01:02.7309242Z           "evidence": []
2026-06-06T06:01:02.7309712Z         },
2026-06-06T06:01:02.7310183Z         "impl": {
2026-06-06T06:01:02.7310679Z           "complete": true,
2026-06-06T06:01:02.7311159Z           "evidence": [
2026-06-06T06:01:02.7311618Z             {
2026-06-06T06:01:02.7312213Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7312715Z               "line": 11
2026-06-06T06:01:02.7313177Z             },
2026-06-06T06:01:02.7313671Z             {
2026-06-06T06:01:02.7314260Z               "path": "crates/spt/src/main.rs",
2026-06-06T06:01:02.7314752Z               "line": 8
2026-06-06T06:01:02.7315191Z             }
2026-06-06T06:01:02.7315616Z           ]
2026-06-06T06:01:02.7316061Z         },
2026-06-06T06:01:02.7316512Z         "int": {
2026-06-06T06:01:02.7317012Z           "complete": false,
2026-06-06T06:01:02.7317506Z           "evidence": []
2026-06-06T06:01:02.7317957Z         },
2026-06-06T06:01:02.7318424Z         "unit": {
2026-06-06T06:01:02.7318935Z           "complete": true,
2026-06-06T06:01:02.7319503Z           "evidence": [
2026-06-06T06:01:02.7320085Z             {
2026-06-06T06:01:02.7320654Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7321125Z               "line": 3334
2026-06-06T06:01:02.7321564Z             },
2026-06-06T06:01:02.7322023Z             {
2026-06-06T06:01:02.7322561Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7323027Z               "line": 3369
2026-06-06T06:01:02.7323467Z             },
2026-06-06T06:01:02.7323900Z             {
2026-06-06T06:01:02.7324439Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7324898Z               "line": 3376
2026-06-06T06:01:02.7325330Z             },
2026-06-06T06:01:02.7325749Z             {
2026-06-06T06:01:02.7326310Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7327249Z               "line": 4346
2026-06-06T06:01:02.7327693Z             },
2026-06-06T06:01:02.7328104Z             {
2026-06-06T06:01:02.7328657Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7329129Z               "line": 4355
2026-06-06T06:01:02.7329812Z             },
2026-06-06T06:01:02.7330268Z             {
2026-06-06T06:01:02.7330849Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7331334Z               "line": 4367
2026-06-06T06:01:02.7331770Z             }
2026-06-06T06:01:02.7332244Z           ]
2026-06-06T06:01:02.7332689Z         }
2026-06-06T06:01:02.7333342Z       }
2026-06-06T06:01:02.7333786Z     },
2026-06-06T06:01:02.7334211Z     {
2026-06-06T06:01:02.7334719Z       "id": "REQ-MSG-3",
2026-06-06T06:01:02.7337223Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-06T06:01:02.7337773Z       "requiredStages": [
2026-06-06T06:01:02.7338261Z         "impl",
2026-06-06T06:01:02.7338705Z         "unit",
2026-06-06T06:01:02.7339224Z         "int"
2026-06-06T06:01:02.7339666Z       ],
2026-06-06T06:01:02.7340143Z       "stages": {
2026-06-06T06:01:02.7340588Z         "doc": {
2026-06-06T06:01:02.7341107Z           "complete": false,
2026-06-06T06:01:02.7341617Z           "evidence": []
2026-06-06T06:01:02.7342066Z         },
2026-06-06T06:01:02.7342545Z         "impl": {
2026-06-06T06:01:02.7343049Z           "complete": true,
2026-06-06T06:01:02.7343550Z           "evidence": [
2026-06-06T06:01:02.7344000Z             {
2026-06-06T06:01:02.7344695Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-06T06:01:02.7345197Z               "line": 19
2026-06-06T06:01:02.7345637Z             },
2026-06-06T06:01:02.7346086Z             {
2026-06-06T06:01:02.7346705Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:01:02.7347194Z               "line": 21
2026-06-06T06:01:02.7347653Z             },
2026-06-06T06:01:02.7348116Z             {
2026-06-06T06:01:02.7348740Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:01:02.7349257Z               "line": 48
2026-06-06T06:01:02.7349739Z             },
2026-06-06T06:01:02.7350189Z             {
2026-06-06T06:01:02.7350814Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:01:02.7351284Z               "line": 131
2026-06-06T06:01:02.7351734Z             }
2026-06-06T06:01:02.7352214Z           ]
2026-06-06T06:01:02.7352671Z         },
2026-06-06T06:01:02.7353137Z         "int": {
2026-06-06T06:01:02.7353630Z           "complete": true,
2026-06-06T06:01:02.7354137Z           "evidence": [
2026-06-06T06:01:02.7354602Z             {
2026-06-06T06:01:02.7355427Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-06T06:01:02.7355929Z               "line": 10
2026-06-06T06:01:02.7356385Z             },
2026-06-06T06:01:02.7356842Z             {
2026-06-06T06:01:02.7357621Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-06T06:01:02.7358130Z               "line": 66
2026-06-06T06:01:02.7358582Z             }
2026-06-06T06:01:02.7359010Z           ]
2026-06-06T06:01:02.7359660Z         },
2026-06-06T06:01:02.7360247Z         "unit": {
2026-06-06T06:01:02.7360736Z           "complete": true,
2026-06-06T06:01:02.7361191Z           "evidence": [
2026-06-06T06:01:02.7361641Z             {
2026-06-06T06:01:02.7362259Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:01:02.7362744Z               "line": 185
2026-06-06T06:01:02.7363196Z             },
2026-06-06T06:01:02.7363630Z             {
2026-06-06T06:01:02.7364313Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:01:02.7364804Z               "line": 204
2026-06-06T06:01:02.7365245Z             },
2026-06-06T06:01:02.7365680Z             {
2026-06-06T06:01:02.7366272Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-06T06:01:02.7366740Z               "line": 223
2026-06-06T06:01:02.7367540Z             }
2026-06-06T06:01:02.7367979Z           ]
2026-06-06T06:01:02.7369500Z         }
2026-06-06T06:01:02.7370130Z       }
2026-06-06T06:01:02.7370656Z     },
2026-06-06T06:01:02.7371186Z     {
2026-06-06T06:01:02.7371765Z       "id": "REQ-NET-1",
2026-06-06T06:01:02.7373324Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-06T06:01:02.7373908Z       "requiredStages": [
2026-06-06T06:01:02.7374355Z         "impl",
2026-06-06T06:01:02.7374815Z         "unit",
2026-06-06T06:01:02.7375266Z         "int"
2026-06-06T06:01:02.7375708Z       ],
2026-06-06T06:01:02.7376174Z       "stages": {
2026-06-06T06:01:02.7377100Z         "doc": {
2026-06-06T06:01:02.7377618Z           "complete": false,
2026-06-06T06:01:02.7378090Z           "evidence": []
2026-06-06T06:01:02.7378534Z         },
2026-06-06T06:01:02.7378991Z         "impl": {
2026-06-06T06:01:02.7379739Z           "complete": true,
2026-06-06T06:01:02.7380218Z           "evidence": [
2026-06-06T06:01:02.7380674Z             {
2026-06-06T06:01:02.7381369Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:01:02.7381823Z               "line": 54
2026-06-06T06:01:02.7389265Z             },
2026-06-06T06:01:02.7390145Z             {
2026-06-06T06:01:02.7390961Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:01:02.7391423Z               "line": 533
2026-06-06T06:01:02.7391834Z             },
2026-06-06T06:01:02.7392254Z             {
2026-06-06T06:01:02.7392839Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-06T06:01:02.7393301Z               "line": 69
2026-06-06T06:01:02.7393764Z             },
2026-06-06T06:01:02.7394175Z             {
2026-06-06T06:01:02.7394831Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7395280Z               "line": 65
2026-06-06T06:01:02.7395699Z             },
2026-06-06T06:01:02.7396106Z             {
2026-06-06T06:01:02.7396767Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7397234Z               "line": 127
2026-06-06T06:01:02.7397648Z             },
2026-06-06T06:01:02.7398072Z             {
2026-06-06T06:01:02.7398716Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7399276Z               "line": 143
2026-06-06T06:01:02.7400016Z             },
2026-06-06T06:01:02.7401076Z             {
2026-06-06T06:01:02.7402010Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7402556Z               "line": 158
2026-06-06T06:01:02.7403083Z             },
2026-06-06T06:01:02.7403583Z             {
2026-06-06T06:01:02.7404391Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7404887Z               "line": 220
2026-06-06T06:01:02.7405342Z             },
2026-06-06T06:01:02.7405797Z             {
2026-06-06T06:01:02.7406479Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7406957Z               "line": 255
2026-06-06T06:01:02.7407410Z             },
2026-06-06T06:01:02.7407888Z             {
2026-06-06T06:01:02.7408569Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7409052Z               "line": 261
2026-06-06T06:01:02.7409720Z             },
2026-06-06T06:01:02.7410164Z             {
2026-06-06T06:01:02.7410840Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7411301Z               "line": 267
2026-06-06T06:01:02.7411749Z             },
2026-06-06T06:01:02.7412176Z             {
2026-06-06T06:01:02.7412860Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7413333Z               "line": 283
2026-06-06T06:01:02.7413793Z             },
2026-06-06T06:01:02.7414230Z             {
2026-06-06T06:01:02.7414899Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7415376Z               "line": 303
2026-06-06T06:01:02.7416432Z             },
2026-06-06T06:01:02.7416934Z             {
2026-06-06T06:01:02.7417705Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-06T06:01:02.7418834Z               "line": 35
2026-06-06T06:01:02.7419506Z             },
2026-06-06T06:01:02.7419936Z             {
2026-06-06T06:01:02.7420596Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-06T06:01:02.7421059Z               "line": 82
2026-06-06T06:01:02.7421480Z             },
2026-06-06T06:01:02.7421910Z             {
2026-06-06T06:01:02.7422520Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.7422979Z               "line": 129
2026-06-06T06:01:02.7423398Z             },
2026-06-06T06:01:02.7423820Z             {
2026-06-06T06:01:02.7424664Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7425162Z               "line": 1311
2026-06-06T06:01:02.7425605Z             },
2026-06-06T06:01:02.7426032Z             {
2026-06-06T06:01:02.7426626Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:01:02.7427078Z               "line": 17
2026-06-06T06:01:02.7427526Z             }
2026-06-06T06:01:02.7427985Z           ]
2026-06-06T06:01:02.7428408Z         },
2026-06-06T06:01:02.7428856Z         "int": {
2026-06-06T06:01:02.7429574Z           "complete": true,
2026-06-06T06:01:02.7430228Z           "evidence": [
2026-06-06T06:01:02.7430662Z             {
2026-06-06T06:01:02.7431376Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:01:02.7431843Z               "line": 314
2026-06-06T06:01:02.7432281Z             },
2026-06-06T06:01:02.7432715Z             {
2026-06-06T06:01:02.7433370Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.7433848Z               "line": 555
2026-06-06T06:01:02.7434301Z             },
2026-06-06T06:01:02.7434725Z             {
2026-06-06T06:01:02.7435395Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.7435845Z               "line": 768
2026-06-06T06:01:02.7436276Z             }
2026-06-06T06:01:02.7436708Z           ]
2026-06-06T06:01:02.7437142Z         },
2026-06-06T06:01:02.7437607Z         "unit": {
2026-06-06T06:01:02.7438096Z           "complete": true,
2026-06-06T06:01:02.7438591Z           "evidence": [
2026-06-06T06:01:02.7439028Z             {
2026-06-06T06:01:02.7439949Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:01:02.7440453Z               "line": 585
2026-06-06T06:01:02.7440917Z             },
2026-06-06T06:01:02.7441360Z             {
2026-06-06T06:01:02.7442048Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:01:02.7442527Z               "line": 618
2026-06-06T06:01:02.7442969Z             },
2026-06-06T06:01:02.7443423Z             {
2026-06-06T06:01:02.7444175Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:01:02.7444666Z               "line": 720
2026-06-06T06:01:02.7445100Z             },
2026-06-06T06:01:02.7445564Z             {
2026-06-06T06:01:02.7446260Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-06T06:01:02.7446734Z               "line": 142
2026-06-06T06:01:02.7447210Z             },
2026-06-06T06:01:02.7447652Z             {
2026-06-06T06:01:02.7448355Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7448823Z               "line": 357
2026-06-06T06:01:02.7449347Z             },
2026-06-06T06:01:02.7449833Z             {
2026-06-06T06:01:02.7450667Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7451141Z               "line": 371
2026-06-06T06:01:02.7451570Z             },
2026-06-06T06:01:02.7452012Z             {
2026-06-06T06:01:02.7452685Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7453172Z               "line": 390
2026-06-06T06:01:02.7453609Z             },
2026-06-06T06:01:02.7454029Z             {
2026-06-06T06:01:02.7454691Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-06T06:01:02.7455153Z               "line": 106
2026-06-06T06:01:02.7455587Z             },
2026-06-06T06:01:02.7456032Z             {
2026-06-06T06:01:02.7457028Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-06T06:01:02.7457509Z               "line": 148
2026-06-06T06:01:02.7457934Z             },
2026-06-06T06:01:02.7458366Z             {
2026-06-06T06:01:02.7458986Z               "path": "crates/spt-store/src/spool.rs",
2026-06-06T06:01:02.7459719Z               "line": 445
2026-06-06T06:01:02.7460351Z             },
2026-06-06T06:01:02.7460775Z             {
2026-06-06T06:01:02.7461364Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:01:02.7461819Z               "line": 461
2026-06-06T06:01:02.7462252Z             },
2026-06-06T06:01:02.7462924Z             {
2026-06-06T06:01:02.7463521Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:01:02.7464003Z               "line": 677
2026-06-06T06:01:02.7464438Z             }
2026-06-06T06:01:02.7464867Z           ]
2026-06-06T06:01:02.7465277Z         }
2026-06-06T06:01:02.7465707Z       }
2026-06-06T06:01:02.7466116Z     },
2026-06-06T06:01:02.7466532Z     {
2026-06-06T06:01:02.7467014Z       "id": "REQ-NET-2",
2026-06-06T06:01:02.7468865Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-06T06:01:02.7469561Z       "requiredStages": [
2026-06-06T06:01:02.7470226Z         "impl"
2026-06-06T06:01:02.7470754Z       ],
2026-06-06T06:01:02.7471276Z       "stages": {
2026-06-06T06:01:02.7471833Z         "doc": {
2026-06-06T06:01:02.7472413Z           "complete": false,
2026-06-06T06:01:02.7472938Z           "evidence": []
2026-06-06T06:01:02.7473423Z         },
2026-06-06T06:01:02.7473911Z         "impl": {
2026-06-06T06:01:02.7474451Z           "complete": true,
2026-06-06T06:01:02.7475011Z           "evidence": [
2026-06-06T06:01:02.7475500Z             {
2026-06-06T06:01:02.7476246Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:01:02.7476794Z               "line": 49
2026-06-06T06:01:02.7477296Z             },
2026-06-06T06:01:02.7493032Z             {
2026-06-06T06:01:02.7494009Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7494554Z               "line": 39
2026-06-06T06:01:02.7495005Z             },
2026-06-06T06:01:02.7495475Z             {
2026-06-06T06:01:02.7496166Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7496630Z               "line": 49
2026-06-06T06:01:02.7497108Z             },
2026-06-06T06:01:02.7497566Z             {
2026-06-06T06:01:02.7498268Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7498759Z               "line": 127
2026-06-06T06:01:02.7499283Z             },
2026-06-06T06:01:02.7499885Z             {
2026-06-06T06:01:02.7500684Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7501153Z               "line": 143
2026-06-06T06:01:02.7501589Z             },
2026-06-06T06:01:02.7502006Z             {
2026-06-06T06:01:02.7502670Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-06T06:01:02.7503116Z               "line": 158
2026-06-06T06:01:02.7503555Z             }
2026-06-06T06:01:02.7503969Z           ]
2026-06-06T06:01:02.7504384Z         },
2026-06-06T06:01:02.7504816Z         "int": {
2026-06-06T06:01:02.7505291Z           "complete": false,
2026-06-06T06:01:02.7505743Z           "evidence": []
2026-06-06T06:01:02.7506157Z         },
2026-06-06T06:01:02.7506600Z         "unit": {
2026-06-06T06:01:02.7507066Z           "complete": true,
2026-06-06T06:01:02.7507516Z           "evidence": [
2026-06-06T06:01:02.7507930Z             {
2026-06-06T06:01:02.7508560Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:01:02.7509016Z               "line": 334
2026-06-06T06:01:02.7509686Z             }
2026-06-06T06:01:02.7510275Z           ]
2026-06-06T06:01:02.7510688Z         }
2026-06-06T06:01:02.7511106Z       }
2026-06-06T06:01:02.7511519Z     },
2026-06-06T06:01:02.7511921Z     {
2026-06-06T06:01:02.7512383Z       "id": "REQ-NET-3",
2026-06-06T06:01:02.7513297Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-06T06:01:02.7514302Z       "requiredStages": [
2026-06-06T06:01:02.7514720Z         "impl",
2026-06-06T06:01:02.7515155Z         "unit"
2026-06-06T06:01:02.7515580Z       ],
2026-06-06T06:01:02.7516024Z       "stages": {
2026-06-06T06:01:02.7516462Z         "doc": {
2026-06-06T06:01:02.7516921Z           "complete": false,
2026-06-06T06:01:02.7517369Z           "evidence": []
2026-06-06T06:01:02.7517773Z         },
2026-06-06T06:01:02.7518206Z         "impl": {
2026-06-06T06:01:02.7518709Z           "complete": true,
2026-06-06T06:01:02.7519225Z           "evidence": [
2026-06-06T06:01:02.7519822Z             {
2026-06-06T06:01:02.7520675Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:01:02.7521157Z               "line": 39
2026-06-06T06:01:02.7521587Z             },
2026-06-06T06:01:02.7522043Z             {
2026-06-06T06:01:02.7522715Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:01:02.7523209Z               "line": 159
2026-06-06T06:01:02.7523695Z             },
2026-06-06T06:01:02.7524136Z             {
2026-06-06T06:01:02.7524780Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-06T06:01:02.7525250Z               "line": 290
2026-06-06T06:01:02.7525688Z             },
2026-06-06T06:01:02.7526141Z             {
2026-06-06T06:01:02.7526779Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-06T06:01:02.7527261Z               "line": 36
2026-06-06T06:01:02.7527693Z             },
2026-06-06T06:01:02.7528143Z             {
2026-06-06T06:01:02.7528857Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.7529447Z               "line": 135
2026-06-06T06:01:02.7529902Z             },
2026-06-06T06:01:02.7530343Z             {
2026-06-06T06:01:02.7531066Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.7531541Z               "line": 172
2026-06-06T06:01:02.7531990Z             },
2026-06-06T06:01:02.7532433Z             {
2026-06-06T06:01:02.7533142Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.7533637Z               "line": 184
2026-06-06T06:01:02.7534064Z             },
2026-06-06T06:01:02.7534497Z             {
2026-06-06T06:01:02.7535186Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.7535658Z               "line": 222
2026-06-06T06:01:02.7536096Z             },
2026-06-06T06:01:02.7536513Z             {
2026-06-06T06:01:02.7537216Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.7537683Z               "line": 237
2026-06-06T06:01:02.7538130Z             },
2026-06-06T06:01:02.7538588Z             {
2026-06-06T06:01:02.7539393Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.7540050Z               "line": 273
2026-06-06T06:01:02.7540472Z             },
2026-06-06T06:01:02.7540903Z             {
2026-06-06T06:01:02.7541565Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.7542018Z               "line": 314
2026-06-06T06:01:02.7542453Z             },
2026-06-06T06:01:02.7542882Z             {
2026-06-06T06:01:02.7543560Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.7544013Z               "line": 327
2026-06-06T06:01:02.7544445Z             },
2026-06-06T06:01:02.7544881Z             {
2026-06-06T06:01:02.7545570Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:01:02.7546032Z               "line": 29
2026-06-06T06:01:02.7546466Z             },
2026-06-06T06:01:02.7546895Z             {
2026-06-06T06:01:02.7547547Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:01:02.7548028Z               "line": 70
2026-06-06T06:01:02.7548446Z             },
2026-06-06T06:01:02.7548882Z             {
2026-06-06T06:01:02.7549927Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:01:02.7550428Z               "line": 121
2026-06-06T06:01:02.7550857Z             }
2026-06-06T06:01:02.7551277Z           ]
2026-06-06T06:01:02.7552090Z         },
2026-06-06T06:01:02.7552543Z         "int": {
2026-06-06T06:01:02.7553043Z           "complete": false,
2026-06-06T06:01:02.7553507Z           "evidence": []
2026-06-06T06:01:02.7553944Z         },
2026-06-06T06:01:02.7554382Z         "unit": {
2026-06-06T06:01:02.7554846Z           "complete": true,
2026-06-06T06:01:02.7555308Z           "evidence": [
2026-06-06T06:01:02.7555724Z             {
2026-06-06T06:01:02.7556377Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-06T06:01:02.7556830Z               "line": 203
2026-06-06T06:01:02.7557254Z             },
2026-06-06T06:01:02.7557963Z             {
2026-06-06T06:01:02.7558614Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-06T06:01:02.7559094Z               "line": 303
2026-06-06T06:01:02.7559771Z             },
2026-06-06T06:01:02.7560366Z             {
2026-06-06T06:01:02.7561002Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-06T06:01:02.7561492Z               "line": 399
2026-06-06T06:01:02.7561950Z             },
2026-06-06T06:01:02.7562380Z             {
2026-06-06T06:01:02.7563017Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-06T06:01:02.7563474Z               "line": 93
2026-06-06T06:01:02.7563916Z             },
2026-06-06T06:01:02.7564348Z             {
2026-06-06T06:01:02.7564974Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-06T06:01:02.7565466Z               "line": 131
2026-06-06T06:01:02.7565927Z             },
2026-06-06T06:01:02.7566371Z             {
2026-06-06T06:01:02.7567037Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:01:02.7567541Z               "line": 308
2026-06-06T06:01:02.7567985Z             },
2026-06-06T06:01:02.7568403Z             {
2026-06-06T06:01:02.7569079Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:01:02.7569763Z               "line": 345
2026-06-06T06:01:02.7570223Z             },
2026-06-06T06:01:02.7570678Z             {
2026-06-06T06:01:02.7571370Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-06T06:01:02.7571849Z               "line": 469
2026-06-06T06:01:02.7572295Z             }
2026-06-06T06:01:02.7572729Z           ]
2026-06-06T06:01:02.7573178Z         }
2026-06-06T06:01:02.7573590Z       }
2026-06-06T06:01:02.7574019Z     },
2026-06-06T06:01:02.7574433Z     {
2026-06-06T06:01:02.7574962Z       "id": "REQ-NODE-IDENTITY",
2026-06-06T06:01:02.7576381Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-06T06:01:02.7584817Z       "requiredStages": [
2026-06-06T06:01:02.7585491Z         "impl",
2026-06-06T06:01:02.7585996Z         "unit"
2026-06-06T06:01:02.7586435Z       ],
2026-06-06T06:01:02.7586906Z       "stages": {
2026-06-06T06:01:02.7587359Z         "doc": {
2026-06-06T06:01:02.7587866Z           "complete": false,
2026-06-06T06:01:02.7588418Z           "evidence": []
2026-06-06T06:01:02.7588886Z         },
2026-06-06T06:01:02.7589531Z         "impl": {
2026-06-06T06:01:02.7590100Z           "complete": true,
2026-06-06T06:01:02.7590594Z           "evidence": [
2026-06-06T06:01:02.7591057Z             {
2026-06-06T06:01:02.7591772Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:01:02.7592256Z               "line": 60
2026-06-06T06:01:02.7592706Z             },
2026-06-06T06:01:02.7593159Z             {
2026-06-06T06:01:02.7593863Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:01:02.7594361Z               "line": 68
2026-06-06T06:01:02.7594828Z             },
2026-06-06T06:01:02.7595262Z             {
2026-06-06T06:01:02.7595948Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:01:02.7596456Z               "line": 86
2026-06-06T06:01:02.7596918Z             },
2026-06-06T06:01:02.7597361Z             {
2026-06-06T06:01:02.7598031Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:01:02.7598515Z               "line": 120
2026-06-06T06:01:02.7598954Z             },
2026-06-06T06:01:02.7600328Z             {
2026-06-06T06:01:02.7600991Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:01:02.7601448Z               "line": 127
2026-06-06T06:01:02.7601862Z             },
2026-06-06T06:01:02.7602284Z             {
2026-06-06T06:01:02.7602938Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:01:02.7603401Z               "line": 143
2026-06-06T06:01:02.7603811Z             },
2026-06-06T06:01:02.7604215Z             {
2026-06-06T06:01:02.7604837Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-06T06:01:02.7605291Z               "line": 16
2026-06-06T06:01:02.7605937Z             }
2026-06-06T06:01:02.7606374Z           ]
2026-06-06T06:01:02.7606804Z         },
2026-06-06T06:01:02.7607259Z         "int": {
2026-06-06T06:01:02.7607748Z           "complete": false,
2026-06-06T06:01:02.7608221Z           "evidence": []
2026-06-06T06:01:02.7608650Z         },
2026-06-06T06:01:02.7610361Z         "unit": {
2026-06-06T06:01:02.7611107Z           "complete": true,
2026-06-06T06:01:02.7611644Z           "evidence": [
2026-06-06T06:01:02.7612121Z             {
2026-06-06T06:01:02.7613108Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:01:02.7613636Z               "line": 199
2026-06-06T06:01:02.7614108Z             },
2026-06-06T06:01:02.7614535Z             {
2026-06-06T06:01:02.7615202Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:01:02.7615668Z               "line": 218
2026-06-06T06:01:02.7616110Z             },
2026-06-06T06:01:02.7616533Z             {
2026-06-06T06:01:02.7617208Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:01:02.7617706Z               "line": 232
2026-06-06T06:01:02.7618131Z             },
2026-06-06T06:01:02.7618567Z             {
2026-06-06T06:01:02.7619314Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-06T06:01:02.7619812Z               "line": 248
2026-06-06T06:01:02.7620256Z             },
2026-06-06T06:01:02.7620726Z             {
2026-06-06T06:01:02.7621385Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-06T06:01:02.7621866Z               "line": 125
2026-06-06T06:01:02.7622310Z             },
2026-06-06T06:01:02.7622748Z             {
2026-06-06T06:01:02.7623393Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-06T06:01:02.7623873Z               "line": 141
2026-06-06T06:01:02.7624333Z             },
2026-06-06T06:01:02.7624784Z             {
2026-06-06T06:01:02.7625440Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-06T06:01:02.7625924Z               "line": 153
2026-06-06T06:01:02.7626372Z             }
2026-06-06T06:01:02.7626807Z           ]
2026-06-06T06:01:02.7627227Z         }
2026-06-06T06:01:02.7627678Z       }
2026-06-06T06:01:02.7628124Z     },
2026-06-06T06:01:02.7628552Z     {
2026-06-06T06:01:02.7629056Z       "id": "REQ-NOTIF-1",
2026-06-06T06:01:02.7631501Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-06T06:01:02.7632049Z       "requiredStages": [
2026-06-06T06:01:02.7632493Z         "impl",
2026-06-06T06:01:02.7632940Z         "unit",
2026-06-06T06:01:02.7633390Z         "int"
2026-06-06T06:01:02.7633824Z       ],
2026-06-06T06:01:02.7634281Z       "stages": {
2026-06-06T06:01:02.7634721Z         "doc": {
2026-06-06T06:01:02.7635218Z           "complete": false,
2026-06-06T06:01:02.7635683Z           "evidence": []
2026-06-06T06:01:02.7636108Z         },
2026-06-06T06:01:02.7636548Z         "impl": {
2026-06-06T06:01:02.7637020Z           "complete": true,
2026-06-06T06:01:02.7637503Z           "evidence": [
2026-06-06T06:01:02.7637926Z             {
2026-06-06T06:01:02.7638602Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:01:02.7639061Z               "line": 456
2026-06-06T06:01:02.7639741Z             },
2026-06-06T06:01:02.7640166Z             {
2026-06-06T06:01:02.7640786Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7641728Z               "line": 30
2026-06-06T06:01:02.7642156Z             },
2026-06-06T06:01:02.7642585Z             {
2026-06-06T06:01:02.7643201Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7643659Z               "line": 62
2026-06-06T06:01:02.7644087Z             },
2026-06-06T06:01:02.7644498Z             {
2026-06-06T06:01:02.7645117Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7645568Z               "line": 83
2026-06-06T06:01:02.7645984Z             },
2026-06-06T06:01:02.7646395Z             {
2026-06-06T06:01:02.7647023Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7647732Z               "line": 97
2026-06-06T06:01:02.7648151Z             },
2026-06-06T06:01:02.7648571Z             {
2026-06-06T06:01:02.7649266Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7650048Z               "line": 126
2026-06-06T06:01:02.7650480Z             },
2026-06-06T06:01:02.7650939Z             {
2026-06-06T06:01:02.7651579Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7652036Z               "line": 167
2026-06-06T06:01:02.7652470Z             },
2026-06-06T06:01:02.7652880Z             {
2026-06-06T06:01:02.7653503Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7653959Z               "line": 216
2026-06-06T06:01:02.7654386Z             },
2026-06-06T06:01:02.7654803Z             {
2026-06-06T06:01:02.7655422Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7655894Z               "line": 317
2026-06-06T06:01:02.7656324Z             },
2026-06-06T06:01:02.7656755Z             {
2026-06-06T06:01:02.7657370Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7657827Z               "line": 365
2026-06-06T06:01:02.7658249Z             },
2026-06-06T06:01:02.7658656Z             {
2026-06-06T06:01:02.7659549Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:01:02.7660158Z               "line": 24
2026-06-06T06:01:02.7660584Z             },
2026-06-06T06:01:02.7661022Z             {
2026-06-06T06:01:02.7661678Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:01:02.7662131Z               "line": 34
2026-06-06T06:01:02.7662545Z             },
2026-06-06T06:01:02.7662965Z             {
2026-06-06T06:01:02.7663616Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:01:02.7664055Z               "line": 55
2026-06-06T06:01:02.7664473Z             },
2026-06-06T06:01:02.7664872Z             {
2026-06-06T06:01:02.7665527Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:01:02.7665983Z               "line": 76
2026-06-06T06:01:02.7666407Z             },
2026-06-06T06:01:02.7666812Z             {
2026-06-06T06:01:02.7667470Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:01:02.7667921Z               "line": 88
2026-06-06T06:01:02.7668346Z             },
2026-06-06T06:01:02.7668792Z             {
2026-06-06T06:01:02.7669592Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-06T06:01:02.7670230Z               "line": 41
2026-06-06T06:01:02.7670666Z             },
2026-06-06T06:01:02.7671105Z             {
2026-06-06T06:01:02.7678945Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:01:02.7679780Z               "line": 94
2026-06-06T06:01:02.7680207Z             },
2026-06-06T06:01:02.7680607Z             {
2026-06-06T06:01:02.7681245Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-06T06:01:02.7681683Z               "line": 20
2026-06-06T06:01:02.7682145Z             },
2026-06-06T06:01:02.7682552Z             {
2026-06-06T06:01:02.7683159Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-06T06:01:02.7683593Z               "line": 30
2026-06-06T06:01:02.7683998Z             },
2026-06-06T06:01:02.7684418Z             {
2026-06-06T06:01:02.7685202Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-06T06:01:02.7686241Z               "line": 50
2026-06-06T06:01:02.7686700Z             },
2026-06-06T06:01:02.7687125Z             {
2026-06-06T06:01:02.7687746Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:01:02.7688192Z               "line": 28
2026-06-06T06:01:02.7688616Z             },
2026-06-06T06:01:02.7689034Z             {
2026-06-06T06:01:02.7689854Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:01:02.7690324Z               "line": 126
2026-06-06T06:01:02.7690733Z             },
2026-06-06T06:01:02.7691143Z             {
2026-06-06T06:01:02.7691982Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:01:02.7692456Z               "line": 161
2026-06-06T06:01:02.7692881Z             },
2026-06-06T06:01:02.7693288Z             {
2026-06-06T06:01:02.7693892Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:01:02.7694359Z               "line": 197
2026-06-06T06:01:02.7694795Z             },
2026-06-06T06:01:02.7695232Z             {
2026-06-06T06:01:02.7695866Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:01:02.7696345Z               "line": 208
2026-06-06T06:01:02.7696771Z             },
2026-06-06T06:01:02.7697196Z             {
2026-06-06T06:01:02.7697814Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:01:02.7698277Z               "line": 231
2026-06-06T06:01:02.7698695Z             },
2026-06-06T06:01:02.7699121Z             {
2026-06-06T06:01:02.7700278Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:01:02.7700761Z               "line": 251
2026-06-06T06:01:02.7701219Z             },
2026-06-06T06:01:02.7701637Z             {
2026-06-06T06:01:02.7702290Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.7702737Z               "line": 63
2026-06-06T06:01:02.7703171Z             }
2026-06-06T06:01:02.7703599Z           ]
2026-06-06T06:01:02.7704006Z         },
2026-06-06T06:01:02.7704439Z         "int": {
2026-06-06T06:01:02.7704941Z           "complete": true,
2026-06-06T06:01:02.7705414Z           "evidence": [
2026-06-06T06:01:02.7705843Z             {
2026-06-06T06:01:02.7706555Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:01:02.7707021Z               "line": 265
2026-06-06T06:01:02.7707430Z             },
2026-06-06T06:01:02.7707850Z             {
2026-06-06T06:01:02.7708517Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-06T06:01:02.7708984Z               "line": 102
2026-06-06T06:01:02.7709647Z             },
2026-06-06T06:01:02.7710257Z             {
2026-06-06T06:01:02.7710950Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.7711409Z               "line": 564
2026-06-06T06:01:02.7711848Z             },
2026-06-06T06:01:02.7712256Z             {
2026-06-06T06:01:02.7712936Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.7713410Z               "line": 868
2026-06-06T06:01:02.7713840Z             }
2026-06-06T06:01:02.7714300Z           ]
2026-06-06T06:01:02.7714714Z         },
2026-06-06T06:01:02.7715161Z         "unit": {
2026-06-06T06:01:02.7715644Z           "complete": true,
2026-06-06T06:01:02.7716112Z           "evidence": [
2026-06-06T06:01:02.7716532Z             {
2026-06-06T06:01:02.7717164Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7717644Z               "line": 442
2026-06-06T06:01:02.7718067Z             },
2026-06-06T06:01:02.7718504Z             {
2026-06-06T06:01:02.7719120Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7719801Z               "line": 480
2026-06-06T06:01:02.7720258Z             },
2026-06-06T06:01:02.7720704Z             {
2026-06-06T06:01:02.7721346Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7721805Z               "line": 563
2026-06-06T06:01:02.7722238Z             },
2026-06-06T06:01:02.7722675Z             {
2026-06-06T06:01:02.7723319Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7724155Z               "line": 584
2026-06-06T06:01:02.7724594Z             },
2026-06-06T06:01:02.7725027Z             {
2026-06-06T06:01:02.7725662Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7726136Z               "line": 637
2026-06-06T06:01:02.7726562Z             },
2026-06-06T06:01:02.7727003Z             {
2026-06-06T06:01:02.7727636Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7728087Z               "line": 676
2026-06-06T06:01:02.7728519Z             },
2026-06-06T06:01:02.7728936Z             {
2026-06-06T06:01:02.7730183Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7730646Z               "line": 866
2026-06-06T06:01:02.7731091Z             },
2026-06-06T06:01:02.7731509Z             {
2026-06-06T06:01:02.7732168Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:01:02.7732624Z               "line": 133
2026-06-06T06:01:02.7733049Z             },
2026-06-06T06:01:02.7733480Z             {
2026-06-06T06:01:02.7734124Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:01:02.7734562Z               "line": 208
2026-06-06T06:01:02.7734980Z             },
2026-06-06T06:01:02.7735387Z             {
2026-06-06T06:01:02.7736042Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-06T06:01:02.7736497Z               "line": 227
2026-06-06T06:01:02.7736907Z             },
2026-06-06T06:01:02.7737305Z             {
2026-06-06T06:01:02.7737953Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:01:02.7738415Z               "line": 332
2026-06-06T06:01:02.7738826Z             },
2026-06-06T06:01:02.7739447Z             {
2026-06-06T06:01:02.7740255Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-06T06:01:02.7740710Z               "line": 361
2026-06-06T06:01:02.7741122Z             },
2026-06-06T06:01:02.7741544Z             {
2026-06-06T06:01:02.7742224Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-06T06:01:02.7742690Z               "line": 112
2026-06-06T06:01:02.7743106Z             },
2026-06-06T06:01:02.7743508Z             {
2026-06-06T06:01:02.7744144Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-06T06:01:02.7744596Z               "line": 72
2026-06-06T06:01:02.7745021Z             },
2026-06-06T06:01:02.7745447Z             {
2026-06-06T06:01:02.7746065Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-06T06:01:02.7746514Z               "line": 94
2026-06-06T06:01:02.7746924Z             },
2026-06-06T06:01:02.7747349Z             {
2026-06-06T06:01:02.7747966Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:01:02.7748431Z               "line": 365
2026-06-06T06:01:02.7748874Z             },
2026-06-06T06:01:02.7749510Z             {
2026-06-06T06:01:02.7750287Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:01:02.7750734Z               "line": 396
2026-06-06T06:01:02.7751186Z             },
2026-06-06T06:01:02.7751627Z             {
2026-06-06T06:01:02.7752242Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:01:02.7752713Z               "line": 410
2026-06-06T06:01:02.7753133Z             },
2026-06-06T06:01:02.7753572Z             {
2026-06-06T06:01:02.7754209Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:01:02.7754705Z               "line": 441
2026-06-06T06:01:02.7755159Z             },
2026-06-06T06:01:02.7755597Z             {
2026-06-06T06:01:02.7756225Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:01:02.7756699Z               "line": 458
2026-06-06T06:01:02.7757135Z             },
2026-06-06T06:01:02.7757562Z             {
2026-06-06T06:01:02.7758188Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:01:02.7758659Z               "line": 483
2026-06-06T06:01:02.7759087Z             },
2026-06-06T06:01:02.7759868Z             {
2026-06-06T06:01:02.7760566Z               "path": "crates/spt-store/src/notif.rs",
2026-06-06T06:01:02.7761368Z               "line": 507
2026-06-06T06:01:02.7761814Z             },
2026-06-06T06:01:02.7762259Z             {
2026-06-06T06:01:02.7770183Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.7770808Z               "line": 442
2026-06-06T06:01:02.7771239Z             }
2026-06-06T06:01:02.7771662Z           ]
2026-06-06T06:01:02.7772085Z         }
2026-06-06T06:01:02.7772490Z       }
2026-06-06T06:01:02.7772905Z     },
2026-06-06T06:01:02.7773315Z     {
2026-06-06T06:01:02.7773773Z       "id": "REQ-NOTIF-2",
2026-06-06T06:01:02.7775810Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-06T06:01:02.7776311Z       "requiredStages": [
2026-06-06T06:01:02.7776741Z         "doc",
2026-06-06T06:01:02.7777166Z         "impl",
2026-06-06T06:01:02.7777602Z         "unit",
2026-06-06T06:01:02.7778029Z         "int"
2026-06-06T06:01:02.7778446Z       ],
2026-06-06T06:01:02.7778914Z       "stages": {
2026-06-06T06:01:02.7779588Z         "doc": {
2026-06-06T06:01:02.7780265Z           "complete": true,
2026-06-06T06:01:02.7780712Z           "evidence": [
2026-06-06T06:01:02.7781143Z             {
2026-06-06T06:01:02.7781640Z               "path": "CONTEXT.md",
2026-06-06T06:01:02.7782097Z               "line": 346
2026-06-06T06:01:02.7782524Z             },
2026-06-06T06:01:02.7782946Z             {
2026-06-06T06:01:02.7783481Z               "path": "docs/MANIFEST.md",
2026-06-06T06:01:02.7783927Z               "line": 62
2026-06-06T06:01:02.7784356Z             }
2026-06-06T06:01:02.7784792Z           ]
2026-06-06T06:01:02.7785203Z         },
2026-06-06T06:01:02.7785658Z         "impl": {
2026-06-06T06:01:02.7786132Z           "complete": true,
2026-06-06T06:01:02.7786598Z           "evidence": [
2026-06-06T06:01:02.7787015Z             {
2026-06-06T06:01:02.7787644Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7788097Z               "line": 245
2026-06-06T06:01:02.7788524Z             },
2026-06-06T06:01:02.7788949Z             {
2026-06-06T06:01:02.7789798Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7790586Z               "line": 259
2026-06-06T06:01:02.7791013Z             },
2026-06-06T06:01:02.7791444Z             {
2026-06-06T06:01:02.7792078Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7792537Z               "line": 281
2026-06-06T06:01:02.7792966Z             },
2026-06-06T06:01:02.7793380Z             {
2026-06-06T06:01:02.7794052Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.7794532Z               "line": 126
2026-06-06T06:01:02.7794976Z             },
2026-06-06T06:01:02.7795409Z             {
2026-06-06T06:01:02.7796055Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.7796570Z               "line": 72
2026-06-06T06:01:02.7797003Z             },
2026-06-06T06:01:02.7797433Z             {
2026-06-06T06:01:02.7798017Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7798506Z               "line": 1047
2026-06-06T06:01:02.7798936Z             },
2026-06-06T06:01:02.7799584Z             {
2026-06-06T06:01:02.7800316Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7800796Z               "line": 1079
2026-06-06T06:01:02.7801244Z             },
2026-06-06T06:01:02.7801675Z             {
2026-06-06T06:01:02.7802254Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7802718Z               "line": 1151
2026-06-06T06:01:02.7803144Z             },
2026-06-06T06:01:02.7803596Z             {
2026-06-06T06:01:02.7804144Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7804615Z               "line": 1187
2026-06-06T06:01:02.7805054Z             }
2026-06-06T06:01:02.7805475Z           ]
2026-06-06T06:01:02.7805895Z         },
2026-06-06T06:01:02.7806320Z         "int": {
2026-06-06T06:01:02.7806799Z           "complete": true,
2026-06-06T06:01:02.7807591Z           "evidence": [
2026-06-06T06:01:02.7808023Z             {
2026-06-06T06:01:02.7808695Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.7809227Z               "line": 652
2026-06-06T06:01:02.7809972Z             },
2026-06-06T06:01:02.7810406Z             {
2026-06-06T06:01:02.7811093Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.7811569Z               "line": 985
2026-06-06T06:01:02.7812013Z             }
2026-06-06T06:01:02.7812458Z           ]
2026-06-06T06:01:02.7812889Z         },
2026-06-06T06:01:02.7813334Z         "unit": {
2026-06-06T06:01:02.7814049Z           "complete": true,
2026-06-06T06:01:02.7814509Z           "evidence": [
2026-06-06T06:01:02.7814925Z             {
2026-06-06T06:01:02.7815558Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7816027Z               "line": 726
2026-06-06T06:01:02.7816446Z             },
2026-06-06T06:01:02.7816885Z             {
2026-06-06T06:01:02.7817539Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.7818070Z               "line": 787
2026-06-06T06:01:02.7818515Z             },
2026-06-06T06:01:02.7818960Z             {
2026-06-06T06:01:02.7819769Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7820534Z               "line": 3434
2026-06-06T06:01:02.7820990Z             },
2026-06-06T06:01:02.7821411Z             {
2026-06-06T06:01:02.7822004Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7822463Z               "line": 3461
2026-06-06T06:01:02.7822907Z             }
2026-06-06T06:01:02.7823368Z           ]
2026-06-06T06:01:02.7823825Z         }
2026-06-06T06:01:02.7824267Z       }
2026-06-06T06:01:02.7824692Z     },
2026-06-06T06:01:02.7825126Z     {
2026-06-06T06:01:02.7825623Z       "id": "REQ-PAIR-1",
2026-06-06T06:01:02.7826204Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-06T06:01:02.7826705Z       "requiredStages": [
2026-06-06T06:01:02.7827150Z         "impl",
2026-06-06T06:01:02.7827613Z         "unit",
2026-06-06T06:01:02.7828040Z         "int"
2026-06-06T06:01:02.7828472Z       ],
2026-06-06T06:01:02.7828922Z       "stages": {
2026-06-06T06:01:02.7829622Z         "doc": {
2026-06-06T06:01:02.7830283Z           "complete": false,
2026-06-06T06:01:02.7830744Z           "evidence": []
2026-06-06T06:01:02.7831178Z         },
2026-06-06T06:01:02.7831623Z         "impl": {
2026-06-06T06:01:02.7832099Z           "complete": true,
2026-06-06T06:01:02.7832543Z           "evidence": [
2026-06-06T06:01:02.7832977Z             {
2026-06-06T06:01:02.7833715Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:01:02.7834214Z               "line": 27
2026-06-06T06:01:02.7834673Z             },
2026-06-06T06:01:02.7835114Z             {
2026-06-06T06:01:02.7835830Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:01:02.7836296Z               "line": 88
2026-06-06T06:01:02.7836728Z             },
2026-06-06T06:01:02.7837160Z             {
2026-06-06T06:01:02.7837872Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:01:02.7838357Z               "line": 110
2026-06-06T06:01:02.7838793Z             },
2026-06-06T06:01:02.7839638Z             {
2026-06-06T06:01:02.7840585Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:01:02.7841069Z               "line": 153
2026-06-06T06:01:02.7841511Z             },
2026-06-06T06:01:02.7841936Z             {
2026-06-06T06:01:02.7842668Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:01:02.7843124Z               "line": 182
2026-06-06T06:01:02.7843579Z             },
2026-06-06T06:01:02.7844002Z             {
2026-06-06T06:01:02.7844723Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:01:02.7845200Z               "line": 29
2026-06-06T06:01:02.7845635Z             },
2026-06-06T06:01:02.7846079Z             {
2026-06-06T06:01:02.7846883Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-06T06:01:02.7847779Z               "line": 31
2026-06-06T06:01:02.7848212Z             },
2026-06-06T06:01:02.7848669Z             {
2026-06-06T06:01:02.7849643Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:01:02.7850134Z               "line": 40
2026-06-06T06:01:02.7850580Z             },
2026-06-06T06:01:02.7851016Z             {
2026-06-06T06:01:02.7851758Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:01:02.7852232Z               "line": 131
2026-06-06T06:01:02.7852701Z             },
2026-06-06T06:01:02.7853167Z             {
2026-06-06T06:01:02.7854178Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:01:02.7854658Z               "line": 306
2026-06-06T06:01:02.7862270Z             }
2026-06-06T06:01:02.7862889Z           ]
2026-06-06T06:01:02.7863299Z         },
2026-06-06T06:01:02.7863749Z         "int": {
2026-06-06T06:01:02.7864224Z           "complete": true,
2026-06-06T06:01:02.7864713Z           "evidence": [
2026-06-06T06:01:02.7865138Z             {
2026-06-06T06:01:02.7865804Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.7866270Z               "line": 535
2026-06-06T06:01:02.7866703Z             },
2026-06-06T06:01:02.7867118Z             {
2026-06-06T06:01:02.7867788Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.7868241Z               "line": 696
2026-06-06T06:01:02.7868667Z             }
2026-06-06T06:01:02.7869083Z           ]
2026-06-06T06:01:02.7869781Z         },
2026-06-06T06:01:02.7870399Z         "unit": {
2026-06-06T06:01:02.7870890Z           "complete": true,
2026-06-06T06:01:02.7871342Z           "evidence": [
2026-06-06T06:01:02.7871751Z             {
2026-06-06T06:01:02.7872473Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:01:02.7872928Z               "line": 236
2026-06-06T06:01:02.7873361Z             },
2026-06-06T06:01:02.7873811Z             {
2026-06-06T06:01:02.7874571Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-06T06:01:02.7875064Z               "line": 349
2026-06-06T06:01:02.7875491Z             },
2026-06-06T06:01:02.7875916Z             {
2026-06-06T06:01:02.7876616Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:01:02.7877079Z               "line": 194
2026-06-06T06:01:02.7877504Z             },
2026-06-06T06:01:02.7877915Z             {
2026-06-06T06:01:02.7878627Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:01:02.7879090Z               "line": 216
2026-06-06T06:01:02.7879917Z             },
2026-06-06T06:01:02.7880348Z             {
2026-06-06T06:01:02.7881079Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:01:02.7881553Z               "line": 230
2026-06-06T06:01:02.7881982Z             },
2026-06-06T06:01:02.7882420Z             {
2026-06-06T06:01:02.7883101Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:01:02.7883574Z               "line": 242
2026-06-06T06:01:02.7884005Z             },
2026-06-06T06:01:02.7884433Z             {
2026-06-06T06:01:02.7885132Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:01:02.7885581Z               "line": 256
2026-06-06T06:01:02.7886008Z             },
2026-06-06T06:01:02.7886429Z             {
2026-06-06T06:01:02.7887155Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:01:02.7887624Z               "line": 270
2026-06-06T06:01:02.7888062Z             },
2026-06-06T06:01:02.7888487Z             {
2026-06-06T06:01:02.7889253Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:01:02.7890042Z               "line": 277
2026-06-06T06:01:02.7890475Z             },
2026-06-06T06:01:02.7890909Z             {
2026-06-06T06:01:02.7891620Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-06T06:01:02.7892120Z               "line": 295
2026-06-06T06:01:02.7893143Z             },
2026-06-06T06:01:02.7893573Z             {
2026-06-06T06:01:02.7894294Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:01:02.7894744Z               "line": 696
2026-06-06T06:01:02.7895175Z             },
2026-06-06T06:01:02.7895600Z             {
2026-06-06T06:01:02.7896281Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:01:02.7896735Z               "line": 757
2026-06-06T06:01:02.7897150Z             },
2026-06-06T06:01:02.7897566Z             {
2026-06-06T06:01:02.7898257Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:01:02.7898964Z               "line": 814
2026-06-06T06:01:02.7899632Z             },
2026-06-06T06:01:02.7900221Z             {
2026-06-06T06:01:02.7900939Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:01:02.7901404Z               "line": 868
2026-06-06T06:01:02.7901831Z             },
2026-06-06T06:01:02.7902250Z             {
2026-06-06T06:01:02.7902994Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:01:02.7903461Z               "line": 920
2026-06-06T06:01:02.7903878Z             },
2026-06-06T06:01:02.7904303Z             {
2026-06-06T06:01:02.7905016Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:01:02.7905496Z               "line": 1084
2026-06-06T06:01:02.7905920Z             }
2026-06-06T06:01:02.7906381Z           ]
2026-06-06T06:01:02.7906812Z         }
2026-06-06T06:01:02.7907231Z       }
2026-06-06T06:01:02.7907661Z     },
2026-06-06T06:01:02.7908063Z     {
2026-06-06T06:01:02.7908548Z       "id": "REQ-PAIR-2",
2026-06-06T06:01:02.7909545Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-06T06:01:02.7910222Z       "requiredStages": [
2026-06-06T06:01:02.7910662Z         "impl",
2026-06-06T06:01:02.7911081Z         "unit"
2026-06-06T06:01:02.7911509Z       ],
2026-06-06T06:01:02.7911935Z       "stages": {
2026-06-06T06:01:02.7912385Z         "doc": {
2026-06-06T06:01:02.7912881Z           "complete": false,
2026-06-06T06:01:02.7913354Z           "evidence": []
2026-06-06T06:01:02.7913784Z         },
2026-06-06T06:01:02.7914221Z         "impl": {
2026-06-06T06:01:02.7914701Z           "complete": true,
2026-06-06T06:01:02.7915146Z           "evidence": [
2026-06-06T06:01:02.7915575Z             {
2026-06-06T06:01:02.7916205Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:01:02.7916678Z               "line": 42
2026-06-06T06:01:02.7917116Z             },
2026-06-06T06:01:02.7917526Z             {
2026-06-06T06:01:02.7918152Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:01:02.7918616Z               "line": 151
2026-06-06T06:01:02.7919048Z             },
2026-06-06T06:01:02.7919684Z             {
2026-06-06T06:01:02.7920489Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:01:02.7920966Z               "line": 171
2026-06-06T06:01:02.7921390Z             },
2026-06-06T06:01:02.7921811Z             {
2026-06-06T06:01:02.7922443Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:01:02.7922917Z               "line": 209
2026-06-06T06:01:02.7923345Z             },
2026-06-06T06:01:02.7923774Z             {
2026-06-06T06:01:02.7924386Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:01:02.7924853Z               "line": 232
2026-06-06T06:01:02.7925289Z             }
2026-06-06T06:01:02.7925700Z           ]
2026-06-06T06:01:02.7926127Z         },
2026-06-06T06:01:02.7926559Z         "int": {
2026-06-06T06:01:02.7927045Z           "complete": false,
2026-06-06T06:01:02.7927509Z           "evidence": []
2026-06-06T06:01:02.7927930Z         },
2026-06-06T06:01:02.7928369Z         "unit": {
2026-06-06T06:01:02.7928838Z           "complete": true,
2026-06-06T06:01:02.7929354Z           "evidence": [
2026-06-06T06:01:02.7929774Z             {
2026-06-06T06:01:02.7930399Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:01:02.7930878Z               "line": 253
2026-06-06T06:01:02.7931708Z             },
2026-06-06T06:01:02.7932135Z             {
2026-06-06T06:01:02.7932749Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:01:02.7933214Z               "line": 272
2026-06-06T06:01:02.7933630Z             },
2026-06-06T06:01:02.7934073Z             {
2026-06-06T06:01:02.7934702Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:01:02.7935161Z               "line": 284
2026-06-06T06:01:02.7935594Z             },
2026-06-06T06:01:02.7936014Z             {
2026-06-06T06:01:02.7936636Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:01:02.7937307Z               "line": 303
2026-06-06T06:01:02.7937731Z             },
2026-06-06T06:01:02.7938155Z             {
2026-06-06T06:01:02.7938756Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:01:02.7939272Z               "line": 319
2026-06-06T06:01:02.7939701Z             },
2026-06-06T06:01:02.7940136Z             {
2026-06-06T06:01:02.7940751Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:01:02.7941218Z               "line": 331
2026-06-06T06:01:02.7941660Z             },
2026-06-06T06:01:02.7942092Z             {
2026-06-06T06:01:02.7942722Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:01:02.7943179Z               "line": 343
2026-06-06T06:01:02.7943614Z             },
2026-06-06T06:01:02.7944047Z             {
2026-06-06T06:01:02.7944672Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:01:02.7945148Z               "line": 356
2026-06-06T06:01:02.7952974Z             },
2026-06-06T06:01:02.7953594Z             {
2026-06-06T06:01:02.7954283Z               "path": "crates/spt-store/src/trust.rs",
2026-06-06T06:01:02.7954747Z               "line": 370
2026-06-06T06:01:02.7955169Z             }
2026-06-06T06:01:02.7955589Z           ]
2026-06-06T06:01:02.7956008Z         }
2026-06-06T06:01:02.7956414Z       }
2026-06-06T06:01:02.7956830Z     },
2026-06-06T06:01:02.7957241Z     {
2026-06-06T06:01:02.7957731Z       "id": "REQ-PAIR-3",
2026-06-06T06:01:02.7958552Z       "title": "Fetch current pairing code from any paired node",
2026-06-06T06:01:02.7959018Z       "requiredStages": [
2026-06-06T06:01:02.7959523Z         "impl",
2026-06-06T06:01:02.7960080Z         "unit"
2026-06-06T06:01:02.7960490Z       ],
2026-06-06T06:01:02.7960915Z       "stages": {
2026-06-06T06:01:02.7961327Z         "doc": {
2026-06-06T06:01:02.7961789Z           "complete": false,
2026-06-06T06:01:02.7962226Z           "evidence": []
2026-06-06T06:01:02.7962635Z         },
2026-06-06T06:01:02.7964012Z         "impl": {
2026-06-06T06:01:02.7964613Z           "complete": true,
2026-06-06T06:01:02.7965117Z           "evidence": [
2026-06-06T06:01:02.7965593Z             {
2026-06-06T06:01:02.7966213Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7966692Z               "line": 1504
2026-06-06T06:01:02.7967135Z             },
2026-06-06T06:01:02.7967564Z             {
2026-06-06T06:01:02.7968143Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7968624Z               "line": 1540
2026-06-06T06:01:02.7969073Z             },
2026-06-06T06:01:02.7969717Z             {
2026-06-06T06:01:02.7970265Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7970724Z               "line": 1687
2026-06-06T06:01:02.7971127Z             }
2026-06-06T06:01:02.7971538Z           ]
2026-06-06T06:01:02.7971937Z         },
2026-06-06T06:01:02.7972362Z         "int": {
2026-06-06T06:01:02.7972834Z           "complete": false,
2026-06-06T06:01:02.7973276Z           "evidence": []
2026-06-06T06:01:02.7973683Z         },
2026-06-06T06:01:02.7974127Z         "unit": {
2026-06-06T06:01:02.7974589Z           "complete": true,
2026-06-06T06:01:02.7975024Z           "evidence": [
2026-06-06T06:01:02.7975442Z             {
2026-06-06T06:01:02.7975997Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7976449Z               "line": 4459
2026-06-06T06:01:02.7976864Z             },
2026-06-06T06:01:02.7977817Z             {
2026-06-06T06:01:02.7978374Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7978812Z               "line": 4715
2026-06-06T06:01:02.7979291Z             },
2026-06-06T06:01:02.7980018Z             {
2026-06-06T06:01:02.7981153Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7981694Z               "line": 4731
2026-06-06T06:01:02.7982172Z             },
2026-06-06T06:01:02.7982641Z             {
2026-06-06T06:01:02.7983359Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7984183Z               "line": 4752
2026-06-06T06:01:02.7984698Z             },
2026-06-06T06:01:02.7985473Z             {
2026-06-06T06:01:02.7986065Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7986539Z               "line": 4768
2026-06-06T06:01:02.7986979Z             },
2026-06-06T06:01:02.7987422Z             {
2026-06-06T06:01:02.7988003Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7988499Z               "line": 4781
2026-06-06T06:01:02.7988966Z             },
2026-06-06T06:01:02.7989633Z             {
2026-06-06T06:01:02.7990176Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.7990641Z               "line": 4790
2026-06-06T06:01:02.7991049Z             }
2026-06-06T06:01:02.7991466Z           ]
2026-06-06T06:01:02.7991883Z         }
2026-06-06T06:01:02.7992286Z       }
2026-06-06T06:01:02.7992707Z     },
2026-06-06T06:01:02.7993112Z     {
2026-06-06T06:01:02.7993605Z       "id": "REQ-PAIR-4",
2026-06-06T06:01:02.7994209Z       "title": "Subnet naming on first pairing",
2026-06-06T06:01:02.7994712Z       "requiredStages": [
2026-06-06T06:01:02.7995182Z         "impl",
2026-06-06T06:01:02.7995610Z         "unit"
2026-06-06T06:01:02.7996043Z       ],
2026-06-06T06:01:02.7996487Z       "stages": {
2026-06-06T06:01:02.7997479Z         "doc": {
2026-06-06T06:01:02.7998025Z           "complete": false,
2026-06-06T06:01:02.7998543Z           "evidence": []
2026-06-06T06:01:02.7999005Z         },
2026-06-06T06:01:02.7999656Z         "impl": {
2026-06-06T06:01:02.8000260Z           "complete": true,
2026-06-06T06:01:02.8000705Z           "evidence": [
2026-06-06T06:01:02.8001513Z             {
2026-06-06T06:01:02.8002214Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-06T06:01:02.8002715Z               "line": 154
2026-06-06T06:01:02.8003152Z             }
2026-06-06T06:01:02.8003581Z           ]
2026-06-06T06:01:02.8004014Z         },
2026-06-06T06:01:02.8004449Z         "int": {
2026-06-06T06:01:02.8004966Z           "complete": false,
2026-06-06T06:01:02.8005449Z           "evidence": []
2026-06-06T06:01:02.8005920Z         },
2026-06-06T06:01:02.8006367Z         "unit": {
2026-06-06T06:01:02.8006843Z           "complete": true,
2026-06-06T06:01:02.8007315Z           "evidence": [
2026-06-06T06:01:02.8007745Z             {
2026-06-06T06:01:02.8008475Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:01:02.8008957Z               "line": 972
2026-06-06T06:01:02.8009666Z             }
2026-06-06T06:01:02.8010123Z           ]
2026-06-06T06:01:02.8010537Z         }
2026-06-06T06:01:02.8010958Z       }
2026-06-06T06:01:02.8011366Z     },
2026-06-06T06:01:02.8011786Z     {
2026-06-06T06:01:02.8012256Z       "id": "REQ-PAIR-5",
2026-06-06T06:01:02.8014773Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-06T06:01:02.8015456Z       "requiredStages": [
2026-06-06T06:01:02.8015913Z         "impl",
2026-06-06T06:01:02.8016380Z         "unit",
2026-06-06T06:01:02.8016824Z         "int"
2026-06-06T06:01:02.8017315Z       ],
2026-06-06T06:01:02.8018049Z       "stages": {
2026-06-06T06:01:02.8018565Z         "doc": {
2026-06-06T06:01:02.8019078Z           "complete": false,
2026-06-06T06:01:02.8019633Z           "evidence": []
2026-06-06T06:01:02.8020079Z         },
2026-06-06T06:01:02.8020677Z         "impl": {
2026-06-06T06:01:02.8021150Z           "complete": true,
2026-06-06T06:01:02.8022627Z           "evidence": [
2026-06-06T06:01:02.8023095Z             {
2026-06-06T06:01:02.8023833Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:01:02.8024288Z               "line": 44
2026-06-06T06:01:02.8025064Z             },
2026-06-06T06:01:02.8025515Z             {
2026-06-06T06:01:02.8026272Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:01:02.8026732Z               "line": 96
2026-06-06T06:01:02.8027174Z             },
2026-06-06T06:01:02.8027817Z             {
2026-06-06T06:01:02.8028549Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:01:02.8029512Z               "line": 107
2026-06-06T06:01:02.8030024Z             },
2026-06-06T06:01:02.8030647Z             {
2026-06-06T06:01:02.8031414Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:01:02.8031911Z               "line": 124
2026-06-06T06:01:02.8032346Z             },
2026-06-06T06:01:02.8032706Z             {
2026-06-06T06:01:02.8033371Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:01:02.8033769Z               "line": 155
2026-06-06T06:01:02.8034107Z             },
2026-06-06T06:01:02.8034406Z             {
2026-06-06T06:01:02.8034998Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:01:02.8035389Z               "line": 195
2026-06-06T06:01:02.8035713Z             },
2026-06-06T06:01:02.8036039Z             {
2026-06-06T06:01:02.8036648Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:01:02.8037057Z               "line": 236
2026-06-06T06:01:02.8037428Z             },
2026-06-06T06:01:02.8037814Z             {
2026-06-06T06:01:02.8038541Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-06T06:01:02.8038883Z               "line": 33
2026-06-06T06:01:02.8039285Z             },
2026-06-06T06:01:02.8039643Z             {
2026-06-06T06:01:02.8047570Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-06T06:01:02.8048000Z               "line": 45
2026-06-06T06:01:02.8048254Z             },
2026-06-06T06:01:02.8048507Z             {
2026-06-06T06:01:02.8049103Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-06T06:01:02.8049796Z               "line": 59
2026-06-06T06:01:02.8050049Z             },
2026-06-06T06:01:02.8050306Z             {
2026-06-06T06:01:02.8050817Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:01:02.8051099Z               "line": 306
2026-06-06T06:01:02.8051347Z             }
2026-06-06T06:01:02.8051588Z           ]
2026-06-06T06:01:02.8051853Z         },
2026-06-06T06:01:02.8052105Z         "int": {
2026-06-06T06:01:02.8052409Z           "complete": true,
2026-06-06T06:01:02.8052691Z           "evidence": [
2026-06-06T06:01:02.8052937Z             {
2026-06-06T06:01:02.8053414Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.8053691Z               "line": 696
2026-06-06T06:01:02.8053953Z             },
2026-06-06T06:01:02.8054196Z             {
2026-06-06T06:01:02.8054708Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:01:02.8054990Z               "line": 315
2026-06-06T06:01:02.8055231Z             }
2026-06-06T06:01:02.8055484Z           ]
2026-06-06T06:01:02.8055720Z         },
2026-06-06T06:01:02.8055983Z         "unit": {
2026-06-06T06:01:02.8056274Z           "complete": true,
2026-06-06T06:01:02.8056558Z           "evidence": [
2026-06-06T06:01:02.8056814Z             {
2026-06-06T06:01:02.8057315Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:01:02.8057608Z               "line": 265
2026-06-06T06:01:02.8057850Z             },
2026-06-06T06:01:02.8058105Z             {
2026-06-06T06:01:02.8058608Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:01:02.8058900Z               "line": 276
2026-06-06T06:01:02.8059150Z             },
2026-06-06T06:01:02.8059449Z             {
2026-06-06T06:01:02.8060388Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-06T06:01:02.8060664Z               "line": 375
2026-06-06T06:01:02.8060926Z             },
2026-06-06T06:01:02.8061169Z             {
2026-06-06T06:01:02.8061765Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-06T06:01:02.8062044Z               "line": 72
2026-06-06T06:01:02.8062285Z             },
2026-06-06T06:01:02.8062537Z             {
2026-06-06T06:01:02.8063126Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-06T06:01:02.8063417Z               "line": 82
2026-06-06T06:01:02.8063831Z             },
2026-06-06T06:01:02.8064080Z             {
2026-06-06T06:01:02.8064679Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-06T06:01:02.8064948Z               "line": 92
2026-06-06T06:01:02.8065204Z             },
2026-06-06T06:01:02.8065447Z             {
2026-06-06T06:01:02.8066034Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-06T06:01:02.8066337Z               "line": 102
2026-06-06T06:01:02.8066583Z             },
2026-06-06T06:01:02.8066832Z             {
2026-06-06T06:01:02.8067419Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-06T06:01:02.8067723Z               "line": 117
2026-06-06T06:01:02.8067972Z             },
2026-06-06T06:01:02.8068228Z             {
2026-06-06T06:01:02.8068748Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:01:02.8069023Z               "line": 750
2026-06-06T06:01:02.8069324Z             },
2026-06-06T06:01:02.8069568Z             {
2026-06-06T06:01:02.8070218Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:01:02.8070484Z               "line": 806
2026-06-06T06:01:02.8070740Z             },
2026-06-06T06:01:02.8070980Z             {
2026-06-06T06:01:02.8071463Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-06T06:01:02.8071736Z               "line": 1026
2026-06-06T06:01:02.8071982Z             }
2026-06-06T06:01:02.8072223Z           ]
2026-06-06T06:01:02.8072452Z         }
2026-06-06T06:01:02.8072696Z       }
2026-06-06T06:01:02.8072932Z     },
2026-06-06T06:01:02.8073161Z     {
2026-06-06T06:01:02.8073452Z       "id": "REQ-PAIR-6",
2026-06-06T06:01:02.8074667Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-06T06:01:02.8074971Z       "requiredStages": [
2026-06-06T06:01:02.8075215Z         "impl",
2026-06-06T06:01:02.8075465Z         "unit"
2026-06-06T06:01:02.8075706Z       ],
2026-06-06T06:01:02.8075955Z       "stages": {
2026-06-06T06:01:02.8076215Z         "doc": {
2026-06-06T06:01:02.8076500Z           "complete": false,
2026-06-06T06:01:02.8076782Z           "evidence": []
2026-06-06T06:01:02.8077014Z         },
2026-06-06T06:01:02.8077277Z         "impl": {
2026-06-06T06:01:02.8077568Z           "complete": true,
2026-06-06T06:01:02.8077830Z           "evidence": [
2026-06-06T06:01:02.8078080Z             {
2026-06-06T06:01:02.8078436Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8078718Z               "line": 1540
2026-06-06T06:01:02.8078955Z             },
2026-06-06T06:01:02.8079241Z             {
2026-06-06T06:01:02.8079923Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8080192Z               "line": 1687
2026-06-06T06:01:02.8080439Z             },
2026-06-06T06:01:02.8080676Z             {
2026-06-06T06:01:02.8081079Z               "path": "crates/spt/src/elevation.rs",
2026-06-06T06:01:02.8081338Z               "line": 18
2026-06-06T06:01:02.8081589Z             },
2026-06-06T06:01:02.8081848Z             {
2026-06-06T06:01:02.8082242Z               "path": "crates/spt/src/elevation.rs",
2026-06-06T06:01:02.8082512Z               "line": 49
2026-06-06T06:01:02.8082750Z             },
2026-06-06T06:01:02.8082998Z             {
2026-06-06T06:01:02.8083394Z               "path": "crates/spt/src/elevation.rs",
2026-06-06T06:01:02.8083669Z               "line": 70
2026-06-06T06:01:02.8084095Z             }
2026-06-06T06:01:02.8084337Z           ]
2026-06-06T06:01:02.8084580Z         },
2026-06-06T06:01:02.8084819Z         "int": {
2026-06-06T06:01:02.8085118Z           "complete": false,
2026-06-06T06:01:02.8085388Z           "evidence": []
2026-06-06T06:01:02.8085634Z         },
2026-06-06T06:01:02.8085887Z         "unit": {
2026-06-06T06:01:02.8086164Z           "complete": true,
2026-06-06T06:01:02.8086437Z           "evidence": [
2026-06-06T06:01:02.8086676Z             {
2026-06-06T06:01:02.8087041Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8087448Z               "line": 4803
2026-06-06T06:01:02.8087701Z             },
2026-06-06T06:01:02.8087945Z             {
2026-06-06T06:01:02.8088300Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8088578Z               "line": 4820
2026-06-06T06:01:02.8088813Z             },
2026-06-06T06:01:02.8089062Z             {
2026-06-06T06:01:02.8089685Z               "path": "crates/spt/src/elevation.rs",
2026-06-06T06:01:02.8090126Z               "line": 132
2026-06-06T06:01:02.8090374Z             },
2026-06-06T06:01:02.8090612Z             {
2026-06-06T06:01:02.8091017Z               "path": "crates/spt/src/elevation.rs",
2026-06-06T06:01:02.8091290Z               "line": 141
2026-06-06T06:01:02.8091538Z             }
2026-06-06T06:01:02.8091786Z           ]
2026-06-06T06:01:02.8092023Z         }
2026-06-06T06:01:02.8092268Z       }
2026-06-06T06:01:02.8092498Z     },
2026-06-06T06:01:02.8092731Z     {
2026-06-06T06:01:02.8093012Z       "id": "REQ-PAIR-7",
2026-06-06T06:01:02.8093683Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-06T06:01:02.8094004Z       "requiredStages": [],
2026-06-06T06:01:02.8094259Z       "stages": {
2026-06-06T06:01:02.8094508Z         "doc": {
2026-06-06T06:01:02.8094799Z           "complete": false,
2026-06-06T06:01:02.8095077Z           "evidence": []
2026-06-06T06:01:02.8095310Z         },
2026-06-06T06:01:02.8095581Z         "impl": {
2026-06-06T06:01:02.8095864Z           "complete": false,
2026-06-06T06:01:02.8096147Z           "evidence": []
2026-06-06T06:01:02.8096388Z         },
2026-06-06T06:01:02.8096633Z         "int": {
2026-06-06T06:01:02.8096926Z           "complete": false,
2026-06-06T06:01:02.8097196Z           "evidence": []
2026-06-06T06:01:02.8097439Z         },
2026-06-06T06:01:02.8097683Z         "unit": {
2026-06-06T06:01:02.8097977Z           "complete": false,
2026-06-06T06:01:02.8098255Z           "evidence": []
2026-06-06T06:01:02.8098489Z         }
2026-06-06T06:01:02.8105221Z       }
2026-06-06T06:01:02.8105589Z     },
2026-06-06T06:01:02.8105832Z     {
2026-06-06T06:01:02.8106135Z       "id": "REQ-PRES-1",
2026-06-06T06:01:02.8113780Z       "title": "Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)",
2026-06-06T06:01:02.8114140Z       "requiredStages": [
2026-06-06T06:01:02.8114385Z         "impl",
2026-06-06T06:01:02.8114640Z         "unit",
2026-06-06T06:01:02.8114890Z         "int"
2026-06-06T06:01:02.8115126Z       ],
2026-06-06T06:01:02.8115383Z       "stages": {
2026-06-06T06:01:02.8115616Z         "doc": {
2026-06-06T06:01:02.8115904Z           "complete": true,
2026-06-06T06:01:02.8116170Z           "evidence": [
2026-06-06T06:01:02.8116455Z             {
2026-06-06T06:01:02.8116774Z               "path": "docs/DEFERRED.md",
2026-06-06T06:01:02.8117048Z               "line": 11
2026-06-06T06:01:02.8117296Z             }
2026-06-06T06:01:02.8117529Z           ]
2026-06-06T06:01:02.8117767Z         },
2026-06-06T06:01:02.8118015Z         "impl": {
2026-06-06T06:01:02.8118306Z           "complete": true,
2026-06-06T06:01:02.8118883Z           "evidence": [
2026-06-06T06:01:02.8119133Z             {
2026-06-06T06:01:02.8119953Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:01:02.8120217Z               "line": 457
2026-06-06T06:01:02.8120464Z             },
2026-06-06T06:01:02.8120705Z             {
2026-06-06T06:01:02.8121166Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:01:02.8121443Z               "line": 505
2026-06-06T06:01:02.8121680Z             },
2026-06-06T06:01:02.8121928Z             {
2026-06-06T06:01:02.8122346Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.8122771Z               "line": 168
2026-06-06T06:01:02.8123010Z             },
2026-06-06T06:01:02.8123259Z             {
2026-06-06T06:01:02.8123689Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.8123957Z               "line": 186
2026-06-06T06:01:02.8124206Z             },
2026-06-06T06:01:02.8124440Z             {
2026-06-06T06:01:02.8124912Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-06T06:01:02.8125172Z               "line": 28
2026-06-06T06:01:02.8125428Z             },
2026-06-06T06:01:02.8125671Z             {
2026-06-06T06:01:02.8126119Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-06T06:01:02.8126393Z               "line": 99
2026-06-06T06:01:02.8126629Z             },
2026-06-06T06:01:02.8126874Z             {
2026-06-06T06:01:02.8127322Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-06T06:01:02.8127596Z               "line": 153
2026-06-06T06:01:02.8127847Z             },
2026-06-06T06:01:02.8128090Z             {
2026-06-06T06:01:02.8128550Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-06T06:01:02.8128815Z               "line": 172
2026-06-06T06:01:02.8129061Z             },
2026-06-06T06:01:02.8129342Z             {
2026-06-06T06:01:02.8130180Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.8130460Z               "line": 301
2026-06-06T06:01:02.8130708Z             },
2026-06-06T06:01:02.8130954Z             {
2026-06-06T06:01:02.8131408Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:01:02.8131685Z               "line": 282
2026-06-06T06:01:02.8131924Z             },
2026-06-06T06:01:02.8132170Z             {
2026-06-06T06:01:02.8132634Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:01:02.8132900Z               "line": 329
2026-06-06T06:01:02.8133145Z             },
2026-06-06T06:01:02.8133377Z             {
2026-06-06T06:01:02.8133840Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:01:02.8134122Z               "line": 355
2026-06-06T06:01:02.8134359Z             },
2026-06-06T06:01:02.8134601Z             {
2026-06-06T06:01:02.8135044Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.8135316Z               "line": 100
2026-06-06T06:01:02.8135547Z             }
2026-06-06T06:01:02.8135795Z           ]
2026-06-06T06:01:02.8136044Z         },
2026-06-06T06:01:02.8136290Z         "int": {
2026-06-06T06:01:02.8136578Z           "complete": true,
2026-06-06T06:01:02.8136843Z           "evidence": [
2026-06-06T06:01:02.8137088Z             {
2026-06-06T06:01:02.8137554Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:01:02.8137825Z               "line": 517
2026-06-06T06:01:02.8138072Z             },
2026-06-06T06:01:02.8138303Z             {
2026-06-06T06:01:02.8138759Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.8139020Z               "line": 612
2026-06-06T06:01:02.8139607Z             },
2026-06-06T06:01:02.8139846Z             {
2026-06-06T06:01:02.8140311Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.8140583Z               "line": 919
2026-06-06T06:01:02.8140822Z             }
2026-06-06T06:01:02.8141070Z           ]
2026-06-06T06:01:02.8141302Z         },
2026-06-06T06:01:02.8141557Z         "unit": {
2026-06-06T06:01:02.8142005Z           "complete": true,
2026-06-06T06:01:02.8142284Z           "evidence": [
2026-06-06T06:01:02.8142531Z             {
2026-06-06T06:01:02.8142944Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.8143222Z               "line": 507
2026-06-06T06:01:02.8143456Z             },
2026-06-06T06:01:02.8143697Z             {
2026-06-06T06:01:02.8144137Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-06T06:01:02.8144416Z               "line": 219
2026-06-06T06:01:02.8144671Z             },
2026-06-06T06:01:02.8144907Z             {
2026-06-06T06:01:02.8145369Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-06T06:01:02.8145812Z               "line": 250
2026-06-06T06:01:02.8146066Z             },
2026-06-06T06:01:02.8146303Z             {
2026-06-06T06:01:02.8146773Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-06T06:01:02.8147046Z               "line": 283
2026-06-06T06:01:02.8147283Z             },
2026-06-06T06:01:02.8147536Z             {
2026-06-06T06:01:02.8147983Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-06T06:01:02.8148258Z               "line": 314
2026-06-06T06:01:02.8148492Z             },
2026-06-06T06:01:02.8148737Z             {
2026-06-06T06:01:02.8149297Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.8149747Z               "line": 531
2026-06-06T06:01:02.8150163Z             },
2026-06-06T06:01:02.8150394Z             {
2026-06-06T06:01:02.8150849Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.8151115Z               "line": 825
2026-06-06T06:01:02.8151380Z             }
2026-06-06T06:01:02.8151619Z           ]
2026-06-06T06:01:02.8151858Z         }
2026-06-06T06:01:02.8152102Z       }
2026-06-06T06:01:02.8152335Z     },
2026-06-06T06:01:02.8152574Z     {
2026-06-06T06:01:02.8152854Z       "id": "REQ-REACH-1",
2026-06-06T06:01:02.8153448Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-06T06:01:02.8153762Z       "requiredStages": [
2026-06-06T06:01:02.8154007Z         "impl",
2026-06-06T06:01:02.8154259Z         "unit",
2026-06-06T06:01:02.8154499Z         "int"
2026-06-06T06:01:02.8154744Z       ],
2026-06-06T06:01:02.8154991Z       "stages": {
2026-06-06T06:01:02.8155245Z         "doc": {
2026-06-06T06:01:02.8155545Z           "complete": false,
2026-06-06T06:01:02.8155815Z           "evidence": []
2026-06-06T06:01:02.8156057Z         },
2026-06-06T06:01:02.8156305Z         "impl": {
2026-06-06T06:01:02.8156595Z           "complete": true,
2026-06-06T06:01:02.8156857Z           "evidence": [
2026-06-06T06:01:02.8157118Z             {
2026-06-06T06:01:02.8157565Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-06T06:01:02.8157827Z               "line": 133
2026-06-06T06:01:02.8158073Z             },
2026-06-06T06:01:02.8158306Z             {
2026-06-06T06:01:02.8158720Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-06T06:01:02.8158985Z               "line": 76
2026-06-06T06:01:02.8159298Z             },
2026-06-06T06:01:02.8159725Z             {
2026-06-06T06:01:02.8160300Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-06T06:01:02.8160571Z               "line": 209
2026-06-06T06:01:02.8160807Z             },
2026-06-06T06:01:02.8161053Z             {
2026-06-06T06:01:02.8161458Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-06T06:01:02.8161735Z               "line": 386
2026-06-06T06:01:02.8161980Z             },
2026-06-06T06:01:02.8162213Z             {
2026-06-06T06:01:02.8167746Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-06T06:01:02.8168133Z               "line": 484
2026-06-06T06:01:02.8168383Z             },
2026-06-06T06:01:02.8168631Z             {
2026-06-06T06:01:02.8169052Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-06T06:01:02.8169580Z               "line": 39
2026-06-06T06:01:02.8169986Z             },
2026-06-06T06:01:02.8170236Z             {
2026-06-06T06:01:02.8170888Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.8171160Z               "line": 217
2026-06-06T06:01:02.8171398Z             },
2026-06-06T06:01:02.8171629Z             {
2026-06-06T06:01:02.8172035Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-06T06:01:02.8172296Z               "line": 82
2026-06-06T06:01:02.8172538Z             },
2026-06-06T06:01:02.8172772Z             {
2026-06-06T06:01:02.8173175Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-06T06:01:02.8173446Z               "line": 92
2026-06-06T06:01:02.8173684Z             },
2026-06-06T06:01:02.8174072Z             {
2026-06-06T06:01:02.8174513Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.8174788Z               "line": 204
2026-06-06T06:01:02.8175029Z             }
2026-06-06T06:01:02.8175272Z           ]
2026-06-06T06:01:02.8175512Z         },
2026-06-06T06:01:02.8175751Z         "int": {
2026-06-06T06:01:02.8176045Z           "complete": true,
2026-06-06T06:01:02.8176320Z           "evidence": [
2026-06-06T06:01:02.8176565Z             {
2026-06-06T06:01:02.8177040Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:01:02.8177317Z               "line": 375
2026-06-06T06:01:02.8177562Z             },
2026-06-06T06:01:02.8177800Z             {
2026-06-06T06:01:02.8178278Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:01:02.8178537Z               "line": 478
2026-06-06T06:01:02.8178778Z             },
2026-06-06T06:01:02.8179014Z             {
2026-06-06T06:01:02.8179711Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.8180176Z               "line": 784
2026-06-06T06:01:02.8180415Z             },
2026-06-06T06:01:02.8180661Z             {
2026-06-06T06:01:02.8181109Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.8181388Z               "line": 1015
2026-06-06T06:01:02.8181621Z             }
2026-06-06T06:01:02.8181864Z           ]
2026-06-06T06:01:02.8182111Z         },
2026-06-06T06:01:02.8182349Z         "unit": {
2026-06-06T06:01:02.8182645Z           "complete": true,
2026-06-06T06:01:02.8182911Z           "evidence": [
2026-06-06T06:01:02.8183150Z             {
2026-06-06T06:01:02.8183552Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-06T06:01:02.8183827Z               "line": 585
2026-06-06T06:01:02.8184070Z             },
2026-06-06T06:01:02.8184301Z             {
2026-06-06T06:01:02.8184712Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-06T06:01:02.8184979Z               "line": 606
2026-06-06T06:01:02.8185223Z             },
2026-06-06T06:01:02.8185473Z             {
2026-06-06T06:01:02.8185929Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-06T06:01:02.8186201Z               "line": 337
2026-06-06T06:01:02.8186435Z             },
2026-06-06T06:01:02.8186676Z             {
2026-06-06T06:01:02.8187107Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-06T06:01:02.8187385Z               "line": 92
2026-06-06T06:01:02.8187619Z             },
2026-06-06T06:01:02.8187861Z             {
2026-06-06T06:01:02.8188299Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-06T06:01:02.8188561Z               "line": 176
2026-06-06T06:01:02.8188804Z             },
2026-06-06T06:01:02.8189039Z             {
2026-06-06T06:01:02.8189699Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-06T06:01:02.8190135Z               "line": 92
2026-06-06T06:01:02.8190366Z             },
2026-06-06T06:01:02.8190605Z             {
2026-06-06T06:01:02.8191010Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-06T06:01:02.8191293Z               "line": 123
2026-06-06T06:01:02.8191527Z             },
2026-06-06T06:01:02.8191771Z             {
2026-06-06T06:01:02.8192171Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.8192434Z               "line": 436
2026-06-06T06:01:02.8192678Z             },
2026-06-06T06:01:02.8192909Z             {
2026-06-06T06:01:02.8193486Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-06T06:01:02.8193759Z               "line": 112
2026-06-06T06:01:02.8194005Z             },
2026-06-06T06:01:02.8194248Z             {
2026-06-06T06:01:02.8194645Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-06T06:01:02.8194919Z               "line": 136
2026-06-06T06:01:02.8195155Z             },
2026-06-06T06:01:02.8195400Z             {
2026-06-06T06:01:02.8195834Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.8196107Z               "line": 563
2026-06-06T06:01:02.8196351Z             }
2026-06-06T06:01:02.8196718Z           ]
2026-06-06T06:01:02.8196962Z         }
2026-06-06T06:01:02.8197198Z       }
2026-06-06T06:01:02.8197440Z     },
2026-06-06T06:01:02.8197667Z     {
2026-06-06T06:01:02.8197957Z       "id": "REQ-REACH-2",
2026-06-06T06:01:02.8198618Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-06T06:01:02.8198938Z       "requiredStages": [],
2026-06-06T06:01:02.8199275Z       "stages": {
2026-06-06T06:01:02.8199684Z         "doc": {
2026-06-06T06:01:02.8200153Z           "complete": false,
2026-06-06T06:01:02.8200426Z           "evidence": []
2026-06-06T06:01:02.8200672Z         },
2026-06-06T06:01:02.8200924Z         "impl": {
2026-06-06T06:01:02.8201210Z           "complete": false,
2026-06-06T06:01:02.8201487Z           "evidence": []
2026-06-06T06:01:02.8201717Z         },
2026-06-06T06:01:02.8201970Z         "int": {
2026-06-06T06:01:02.8202249Z           "complete": false,
2026-06-06T06:01:02.8202526Z           "evidence": []
2026-06-06T06:01:02.8202778Z         },
2026-06-06T06:01:02.8203018Z         "unit": {
2026-06-06T06:01:02.8203316Z           "complete": false,
2026-06-06T06:01:02.8203585Z           "evidence": []
2026-06-06T06:01:02.8203824Z         }
2026-06-06T06:01:02.8204056Z       }
2026-06-06T06:01:02.8204288Z     },
2026-06-06T06:01:02.8204527Z     {
2026-06-06T06:01:02.8204796Z       "id": "REQ-REL-1",
2026-06-06T06:01:02.8206712Z       "title": "spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)",
2026-06-06T06:01:02.8207008Z       "requiredStages": [
2026-06-06T06:01:02.8207258Z         "doc",
2026-06-06T06:01:02.8207499Z         "impl"
2026-06-06T06:01:02.8207739Z       ],
2026-06-06T06:01:02.8207994Z       "stages": {
2026-06-06T06:01:02.8208240Z         "doc": {
2026-06-06T06:01:02.8208526Z           "complete": true,
2026-06-06T06:01:02.8208789Z           "evidence": [
2026-06-06T06:01:02.8209033Z             {
2026-06-06T06:01:02.8210431Z               "path": "docs/adr/0014-publish-target-repo-and-lapse-proof-canonical-url.md",
2026-06-06T06:01:02.8210717Z               "line": 3
2026-06-06T06:01:02.8210961Z             }
2026-06-06T06:01:02.8211192Z           ]
2026-06-06T06:01:02.8211432Z         },
2026-06-06T06:01:02.8211669Z         "impl": {
2026-06-06T06:01:02.8211965Z           "complete": true,
2026-06-06T06:01:02.8212241Z           "evidence": [
2026-06-06T06:01:02.8212484Z             {
2026-06-06T06:01:02.8212948Z               "path": ".github/workflows/docs-publish.yml",
2026-06-06T06:01:02.8213206Z               "line": 11
2026-06-06T06:01:02.8213445Z             },
2026-06-06T06:01:02.8213679Z             {
2026-06-06T06:01:02.8214057Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:01:02.8214316Z               "line": 261
2026-06-06T06:01:02.8214561Z             }
2026-06-06T06:01:02.8214806Z           ]
2026-06-06T06:01:02.8215039Z         },
2026-06-06T06:01:02.8215287Z         "int": {
2026-06-06T06:01:02.8215582Z           "complete": false,
2026-06-06T06:01:02.8215863Z           "evidence": []
2026-06-06T06:01:02.8216100Z         },
2026-06-06T06:01:02.8216355Z         "unit": {
2026-06-06T06:01:02.8216648Z           "complete": false,
2026-06-06T06:01:02.8216911Z           "evidence": []
2026-06-06T06:01:02.8217157Z         }
2026-06-06T06:01:02.8217390Z       }
2026-06-06T06:01:02.8217816Z     },
2026-06-06T06:01:02.8218049Z     {
2026-06-06T06:01:02.8218328Z       "id": "REQ-REL-2",
2026-06-06T06:01:02.8226217Z       "title": "Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline",
2026-06-06T06:01:02.8226613Z       "requiredStages": [
2026-06-06T06:01:02.8226871Z         "impl",
2026-06-06T06:01:02.8227109Z         "int"
2026-06-06T06:01:02.8227348Z       ],
2026-06-06T06:01:02.8227602Z       "stages": {
2026-06-06T06:01:02.8227857Z         "doc": {
2026-06-06T06:01:02.8228150Z           "complete": true,
2026-06-06T06:01:02.8228662Z           "evidence": [
2026-06-06T06:01:02.8228909Z             {
2026-06-06T06:01:02.8229370Z               "path": "docs/RELEASE-RUNBOOK.md",
2026-06-06T06:01:02.8229837Z               "line": 6
2026-06-06T06:01:02.8230231Z             }
2026-06-06T06:01:02.8230497Z           ]
2026-06-06T06:01:02.8230741Z         },
2026-06-06T06:01:02.8231016Z         "impl": {
2026-06-06T06:01:02.8231313Z           "complete": true,
2026-06-06T06:01:02.8231580Z           "evidence": [
2026-06-06T06:01:02.8231824Z             {
2026-06-06T06:01:02.8232241Z               "path": ".github/workflows/release.yml",
2026-06-06T06:01:02.8232512Z               "line": 16
2026-06-06T06:01:02.8232756Z             },
2026-06-06T06:01:02.8232990Z             {
2026-06-06T06:01:02.8233366Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:01:02.8233625Z               "line": 338
2026-06-06T06:01:02.8233868Z             },
2026-06-06T06:01:02.8234095Z             {
2026-06-06T06:01:02.8234482Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:01:02.8234750Z               "line": 402
2026-06-06T06:01:02.8234989Z             },
2026-06-06T06:01:02.8235231Z             {
2026-06-06T06:01:02.8235600Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:01:02.8235883Z               "line": 459
2026-06-06T06:01:02.8236122Z             },
2026-06-06T06:01:02.8236368Z             {
2026-06-06T06:01:02.8236742Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:01:02.8237010Z               "line": 543
2026-06-06T06:01:02.8237253Z             }
2026-06-06T06:01:02.8237488Z           ]
2026-06-06T06:01:02.8237723Z         },
2026-06-06T06:01:02.8237962Z         "int": {
2026-06-06T06:01:02.8238246Z           "complete": true,
2026-06-06T06:01:02.8238519Z           "evidence": [
2026-06-06T06:01:02.8238750Z             {
2026-06-06T06:01:02.8239429Z               "path": "crates/spt/tests/release_verify_e2e.rs",
2026-06-06T06:01:02.8239843Z               "line": 13
2026-06-06T06:01:02.8240103Z             }
2026-06-06T06:01:02.8240348Z           ]
2026-06-06T06:01:02.8240588Z         },
2026-06-06T06:01:02.8240836Z         "unit": {
2026-06-06T06:01:02.8241115Z           "complete": false,
2026-06-06T06:01:02.8241392Z           "evidence": []
2026-06-06T06:01:02.8241625Z         }
2026-06-06T06:01:02.8241867Z       }
2026-06-06T06:01:02.8242110Z     },
2026-06-06T06:01:02.8242350Z     {
2026-06-06T06:01:02.8242625Z       "id": "REQ-REL-3",
2026-06-06T06:01:02.8244863Z       "title": "Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)",
2026-06-06T06:01:02.8245169Z       "requiredStages": [
2026-06-06T06:01:02.8245412Z         "impl",
2026-06-06T06:01:02.8245656Z         "unit"
2026-06-06T06:01:02.8245895Z       ],
2026-06-06T06:01:02.8246147Z       "stages": {
2026-06-06T06:01:02.8246389Z         "doc": {
2026-06-06T06:01:02.8246673Z           "complete": false,
2026-06-06T06:01:02.8246964Z           "evidence": []
2026-06-06T06:01:02.8247200Z         },
2026-06-06T06:01:02.8247457Z         "impl": {
2026-06-06T06:01:02.8247743Z           "complete": true,
2026-06-06T06:01:02.8248008Z           "evidence": [
2026-06-06T06:01:02.8248248Z             {
2026-06-06T06:01:02.8248689Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.8249225Z               "line": 117
2026-06-06T06:01:02.8249466Z             },
2026-06-06T06:01:02.8249716Z             {
2026-06-06T06:01:02.8250164Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.8251267Z               "line": 169
2026-06-06T06:01:02.8251592Z             },
2026-06-06T06:01:02.8252012Z             {
2026-06-06T06:01:02.8252520Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:01:02.8252835Z               "line": 315
2026-06-06T06:01:02.8253148Z             },
2026-06-06T06:01:02.8253427Z             {
2026-06-06T06:01:02.8253978Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:01:02.8254473Z               "line": 339
2026-06-06T06:01:02.8254712Z             },
2026-06-06T06:01:02.8254960Z             {
2026-06-06T06:01:02.8255574Z               "path": "crates/xtask/src/main.rs",
2026-06-06T06:01:02.8256024Z               "line": 372
2026-06-06T06:01:02.8256308Z             }
2026-06-06T06:01:02.8256569Z           ]
2026-06-06T06:01:02.8256982Z         },
2026-06-06T06:01:02.8257237Z         "int": {
2026-06-06T06:01:02.8257544Z           "complete": false,
2026-06-06T06:01:02.8257813Z           "evidence": []
2026-06-06T06:01:02.8258056Z         },
2026-06-06T06:01:02.8258312Z         "unit": {
2026-06-06T06:01:02.8258591Z           "complete": true,
2026-06-06T06:01:02.8258866Z           "evidence": [
2026-06-06T06:01:02.8259100Z             {
2026-06-06T06:01:02.8259665Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.8259934Z               "line": 619
2026-06-06T06:01:02.8260179Z             },
2026-06-06T06:01:02.8260438Z             {
2026-06-06T06:01:02.8260872Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.8261150Z               "line": 672
2026-06-06T06:01:02.8261384Z             }
2026-06-06T06:01:02.8261624Z           ]
2026-06-06T06:01:02.8261850Z         }
2026-06-06T06:01:02.8262097Z       }
2026-06-06T06:01:02.8262337Z     },
2026-06-06T06:01:02.8262575Z     {
2026-06-06T06:01:02.8262913Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-06T06:01:02.8263691Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-06T06:01:02.8263995Z       "requiredStages": [
2026-06-06T06:01:02.8264237Z         "impl",
2026-06-06T06:01:02.8264478Z         "unit"
2026-06-06T06:01:02.8264722Z       ],
2026-06-06T06:01:02.8264968Z       "stages": {
2026-06-06T06:01:02.8265216Z         "doc": {
2026-06-06T06:01:02.8265506Z           "complete": false,
2026-06-06T06:01:02.8265793Z           "evidence": []
2026-06-06T06:01:02.8266022Z         },
2026-06-06T06:01:02.8266290Z         "impl": {
2026-06-06T06:01:02.8266590Z           "complete": true,
2026-06-06T06:01:02.8266855Z           "evidence": [
2026-06-06T06:01:02.8267099Z             {
2026-06-06T06:01:02.8267514Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:01:02.8267782Z               "line": 18
2026-06-06T06:01:02.8268021Z             },
2026-06-06T06:01:02.8268277Z             {
2026-06-06T06:01:02.8268701Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:01:02.8268966Z               "line": 35
2026-06-06T06:01:02.8269256Z             },
2026-06-06T06:01:02.8269496Z             {
2026-06-06T06:01:02.8269920Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:01:02.8270186Z               "line": 65
2026-06-06T06:01:02.8270434Z             }
2026-06-06T06:01:02.8270676Z           ]
2026-06-06T06:01:02.8270911Z         },
2026-06-06T06:01:02.8271168Z         "int": {
2026-06-06T06:01:02.8271457Z           "complete": false,
2026-06-06T06:01:02.8271749Z           "evidence": []
2026-06-06T06:01:02.8271982Z         },
2026-06-06T06:01:02.8272235Z         "unit": {
2026-06-06T06:01:02.8272530Z           "complete": true,
2026-06-06T06:01:02.8272799Z           "evidence": [
2026-06-06T06:01:02.8273041Z             {
2026-06-06T06:01:02.8273456Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:01:02.8273958Z               "line": 200
2026-06-06T06:01:02.8274194Z             },
2026-06-06T06:01:02.8274438Z             {
2026-06-06T06:01:02.8274861Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:01:02.8275130Z               "line": 214
2026-06-06T06:01:02.8275375Z             },
2026-06-06T06:01:02.8275610Z             {
2026-06-06T06:01:02.8276033Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:01:02.8276299Z               "line": 223
2026-06-06T06:01:02.8276554Z             }
2026-06-06T06:01:02.8276797Z           ]
2026-06-06T06:01:02.8277030Z         }
2026-06-06T06:01:02.8277269Z       }
2026-06-06T06:01:02.8283427Z     },
2026-06-06T06:01:02.8283797Z     {
2026-06-06T06:01:02.8284141Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-06T06:01:02.8284759Z       "title": "Hostable endpoint-types capability declaration",
2026-06-06T06:01:02.8285061Z       "requiredStages": [
2026-06-06T06:01:02.8285306Z         "impl",
2026-06-06T06:01:02.8285555Z         "unit"
2026-06-06T06:01:02.8285815Z       ],
2026-06-06T06:01:02.8286077Z       "stages": {
2026-06-06T06:01:02.8286317Z         "doc": {
2026-06-06T06:01:02.8286613Z           "complete": false,
2026-06-06T06:01:02.8286892Z           "evidence": []
2026-06-06T06:01:02.8287125Z         },
2026-06-06T06:01:02.8287378Z         "impl": {
2026-06-06T06:01:02.8287660Z           "complete": true,
2026-06-06T06:01:02.8287941Z           "evidence": [
2026-06-06T06:01:02.8288174Z             {
2026-06-06T06:01:02.8288630Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.8288906Z               "line": 391
2026-06-06T06:01:02.8289229Z             }
2026-06-06T06:01:02.8289476Z           ]
2026-06-06T06:01:02.8289710Z         },
2026-06-06T06:01:02.8289964Z         "int": {
2026-06-06T06:01:02.8290247Z           "complete": false,
2026-06-06T06:01:02.8290527Z           "evidence": []
2026-06-06T06:01:02.8290772Z         },
2026-06-06T06:01:02.8291014Z         "unit": {
2026-06-06T06:01:02.8291303Z           "complete": true,
2026-06-06T06:01:02.8291576Z           "evidence": [
2026-06-06T06:01:02.8291821Z             {
2026-06-06T06:01:02.8292270Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.8292554Z               "line": 596
2026-06-06T06:01:02.8292804Z             }
2026-06-06T06:01:02.8293028Z           ]
2026-06-06T06:01:02.8293269Z         }
2026-06-06T06:01:02.8293504Z       }
2026-06-06T06:01:02.8293742Z     },
2026-06-06T06:01:02.8293966Z     {
2026-06-06T06:01:02.8294276Z       "id": "REQ-SEAM-HISTORY",
2026-06-06T06:01:02.8295054Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-06T06:01:02.8295355Z       "requiredStages": [
2026-06-06T06:01:02.8295610Z         "impl",
2026-06-06T06:01:02.8295847Z         "unit",
2026-06-06T06:01:02.8296091Z         "int"
2026-06-06T06:01:02.8296328Z       ],
2026-06-06T06:01:02.8296584Z       "stages": {
2026-06-06T06:01:02.8296833Z         "doc": {
2026-06-06T06:01:02.8297117Z           "complete": false,
2026-06-06T06:01:02.8297409Z           "evidence": []
2026-06-06T06:01:02.8297640Z         },
2026-06-06T06:01:02.8297892Z         "impl": {
2026-06-06T06:01:02.8298173Z           "complete": true,
2026-06-06T06:01:02.8298449Z           "evidence": [
2026-06-06T06:01:02.8298693Z             {
2026-06-06T06:01:02.8299086Z               "path": "crates/spt-live/src/echo.rs",
2026-06-06T06:01:02.8299393Z               "line": 24
2026-06-06T06:01:02.8299628Z             },
2026-06-06T06:01:02.8299877Z             {
2026-06-06T06:01:02.8300296Z               "path": "crates/spt-live/src/history.rs",
2026-06-06T06:01:02.8300579Z               "line": 22
2026-06-06T06:01:02.8300820Z             }
2026-06-06T06:01:02.8301057Z           ]
2026-06-06T06:01:02.8301300Z         },
2026-06-06T06:01:02.8301541Z         "int": {
2026-06-06T06:01:02.8301832Z           "complete": true,
2026-06-06T06:01:02.8302096Z           "evidence": [
2026-06-06T06:01:02.8302340Z             {
2026-06-06T06:01:02.8302783Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:01:02.8303329Z               "line": 202
2026-06-06T06:01:02.8303581Z             }
2026-06-06T06:01:02.8303811Z           ]
2026-06-06T06:01:02.8304054Z         },
2026-06-06T06:01:02.8304296Z         "unit": {
2026-06-06T06:01:02.8304595Z           "complete": true,
2026-06-06T06:01:02.8304864Z           "evidence": [
2026-06-06T06:01:02.8305092Z             {
2026-06-06T06:01:02.8305493Z               "path": "crates/spt-live/src/echo.rs",
2026-06-06T06:01:02.8305761Z               "line": 163
2026-06-06T06:01:02.8306006Z             },
2026-06-06T06:01:02.8306361Z             {
2026-06-06T06:01:02.8306760Z               "path": "crates/spt-live/src/echo.rs",
2026-06-06T06:01:02.8307030Z               "line": 186
2026-06-06T06:01:02.8307264Z             },
2026-06-06T06:01:02.8307505Z             {
2026-06-06T06:01:02.8307888Z               "path": "crates/spt-live/src/echo.rs",
2026-06-06T06:01:02.8308162Z               "line": 195
2026-06-06T06:01:02.8308409Z             },
2026-06-06T06:01:02.8308652Z             {
2026-06-06T06:01:02.8309077Z               "path": "crates/spt-live/src/history.rs",
2026-06-06T06:01:02.8309389Z               "line": 195
2026-06-06T06:01:02.8309640Z             },
2026-06-06T06:01:02.8309871Z             {
2026-06-06T06:01:02.8310298Z               "path": "crates/spt-live/src/history.rs",
2026-06-06T06:01:02.8310559Z               "line": 209
2026-06-06T06:01:02.8310803Z             },
2026-06-06T06:01:02.8311046Z             {
2026-06-06T06:01:02.8311467Z               "path": "crates/spt-live/src/history.rs",
2026-06-06T06:01:02.8311752Z               "line": 228
2026-06-06T06:01:02.8311994Z             },
2026-06-06T06:01:02.8312235Z             {
2026-06-06T06:01:02.8312659Z               "path": "crates/spt-live/src/history.rs",
2026-06-06T06:01:02.8312928Z               "line": 248
2026-06-06T06:01:02.8313166Z             },
2026-06-06T06:01:02.8313404Z             {
2026-06-06T06:01:02.8313832Z               "path": "crates/spt-live/src/history.rs",
2026-06-06T06:01:02.8314108Z               "line": 264
2026-06-06T06:01:02.8314357Z             },
2026-06-06T06:01:02.8314583Z             {
2026-06-06T06:01:02.8314998Z               "path": "crates/spt-live/src/history.rs",
2026-06-06T06:01:02.8315272Z               "line": 279
2026-06-06T06:01:02.8315507Z             }
2026-06-06T06:01:02.8315744Z           ]
2026-06-06T06:01:02.8315970Z         }
2026-06-06T06:01:02.8316207Z       }
2026-06-06T06:01:02.8316431Z     },
2026-06-06T06:01:02.8316670Z     {
2026-06-06T06:01:02.8316975Z       "id": "REQ-SEAM-INJECT",
2026-06-06T06:01:02.8317658Z       "title": "inject-input methods configurable per activity-state",
2026-06-06T06:01:02.8317958Z       "requiredStages": [
2026-06-06T06:01:02.8318197Z         "impl",
2026-06-06T06:01:02.8318441Z         "unit"
2026-06-06T06:01:02.8318672Z       ],
2026-06-06T06:01:02.8318927Z       "stages": {
2026-06-06T06:01:02.8319214Z         "doc": {
2026-06-06T06:01:02.8319499Z           "complete": false,
2026-06-06T06:01:02.8319787Z           "evidence": []
2026-06-06T06:01:02.8320020Z         },
2026-06-06T06:01:02.8320271Z         "impl": {
2026-06-06T06:01:02.8320552Z           "complete": true,
2026-06-06T06:01:02.8320820Z           "evidence": [
2026-06-06T06:01:02.8321065Z             {
2026-06-06T06:01:02.8321483Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:01:02.8321745Z               "line": 19
2026-06-06T06:01:02.8321982Z             },
2026-06-06T06:01:02.8322226Z             {
2026-06-06T06:01:02.8322636Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:01:02.8322927Z               "line": 104
2026-06-06T06:01:02.8323167Z             }
2026-06-06T06:01:02.8323395Z           ]
2026-06-06T06:01:02.8323637Z         },
2026-06-06T06:01:02.8323881Z         "int": {
2026-06-06T06:01:02.8324172Z           "complete": false,
2026-06-06T06:01:02.8324439Z           "evidence": []
2026-06-06T06:01:02.8324683Z         },
2026-06-06T06:01:02.8325096Z         "unit": {
2026-06-06T06:01:02.8325376Z           "complete": true,
2026-06-06T06:01:02.8325651Z           "evidence": [
2026-06-06T06:01:02.8325879Z             {
2026-06-06T06:01:02.8326306Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:01:02.8326563Z               "line": 291
2026-06-06T06:01:02.8326807Z             },
2026-06-06T06:01:02.8327051Z             {
2026-06-06T06:01:02.8327631Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:01:02.8327973Z               "line": 305
2026-06-06T06:01:02.8328241Z             }
2026-06-06T06:01:02.8328509Z           ]
2026-06-06T06:01:02.8328904Z         }
2026-06-06T06:01:02.8329203Z       }
2026-06-06T06:01:02.8329629Z     },
2026-06-06T06:01:02.8329867Z     {
2026-06-06T06:01:02.8330201Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-06T06:01:02.8330720Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-06T06:01:02.8336117Z       "requiredStages": [
2026-06-06T06:01:02.8336473Z         "impl",
2026-06-06T06:01:02.8336751Z         "unit"
2026-06-06T06:01:02.8336995Z       ],
2026-06-06T06:01:02.8337246Z       "stages": {
2026-06-06T06:01:02.8337495Z         "doc": {
2026-06-06T06:01:02.8337783Z           "complete": false,
2026-06-06T06:01:02.8338061Z           "evidence": []
2026-06-06T06:01:02.8338292Z         },
2026-06-06T06:01:02.8338548Z         "impl": {
2026-06-06T06:01:02.8338838Z           "complete": true,
2026-06-06T06:01:02.8339096Z           "evidence": [
2026-06-06T06:01:02.8339609Z             {
2026-06-06T06:01:02.8340205Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.8340493Z               "line": 18
2026-06-06T06:01:02.8340731Z             },
2026-06-06T06:01:02.8340972Z             {
2026-06-06T06:01:02.8341387Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.8341649Z               "line": 304
2026-06-06T06:01:02.8341895Z             }
2026-06-06T06:01:02.8342129Z           ]
2026-06-06T06:01:02.8342368Z         },
2026-06-06T06:01:02.8342617Z         "int": {
2026-06-06T06:01:02.8342915Z           "complete": false,
2026-06-06T06:01:02.8343192Z           "evidence": []
2026-06-06T06:01:02.8343423Z         },
2026-06-06T06:01:02.8343671Z         "unit": {
2026-06-06T06:01:02.8343950Z           "complete": true,
2026-06-06T06:01:02.8344222Z           "evidence": [
2026-06-06T06:01:02.8344454Z             {
2026-06-06T06:01:02.8344873Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.8345150Z               "line": 526
2026-06-06T06:01:02.8345388Z             },
2026-06-06T06:01:02.8345630Z             {
2026-06-06T06:01:02.8346051Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.8346321Z               "line": 536
2026-06-06T06:01:02.8346564Z             }
2026-06-06T06:01:02.8346793Z           ]
2026-06-06T06:01:02.8347041Z         }
2026-06-06T06:01:02.8347275Z       }
2026-06-06T06:01:02.8347512Z     },
2026-06-06T06:01:02.8347739Z     {
2026-06-06T06:01:02.8348055Z       "id": "REQ-SEAM-PSYCHE",
2026-06-06T06:01:02.8348605Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-06T06:01:02.8348907Z       "requiredStages": [
2026-06-06T06:01:02.8349198Z         "impl",
2026-06-06T06:01:02.8349610Z         "unit",
2026-06-06T06:01:02.8349863Z         "int"
2026-06-06T06:01:02.8350097Z       ],
2026-06-06T06:01:02.8350359Z       "stages": {
2026-06-06T06:01:02.8350603Z         "doc": {
2026-06-06T06:01:02.8350910Z           "complete": false,
2026-06-06T06:01:02.8351201Z           "evidence": []
2026-06-06T06:01:02.8351442Z         },
2026-06-06T06:01:02.8351710Z         "impl": {
2026-06-06T06:01:02.8352018Z           "complete": true,
2026-06-06T06:01:02.8352297Z           "evidence": [
2026-06-06T06:01:02.8352534Z             {
2026-06-06T06:01:02.8352976Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-06T06:01:02.8353264Z               "line": 19
2026-06-06T06:01:02.8353519Z             },
2026-06-06T06:01:02.8353767Z             {
2026-06-06T06:01:02.8354487Z               "path": "crates/spt/src/api/live.rs",
2026-06-06T06:01:02.8354774Z               "line": 12
2026-06-06T06:01:02.8355021Z             },
2026-06-06T06:01:02.8355273Z             {
2026-06-06T06:01:02.8355712Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.8355987Z               "line": 204
2026-06-06T06:01:02.8356235Z             }
2026-06-06T06:01:02.8356479Z           ]
2026-06-06T06:01:02.8356728Z         },
2026-06-06T06:01:02.8356977Z         "int": {
2026-06-06T06:01:02.8357274Z           "complete": true,
2026-06-06T06:01:02.8357585Z           "evidence": [
2026-06-06T06:01:02.8358133Z             {
2026-06-06T06:01:02.8358585Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:01:02.8358851Z               "line": 201
2026-06-06T06:01:02.8359094Z             }
2026-06-06T06:01:02.8359370Z           ]
2026-06-06T06:01:02.8359612Z         },
2026-06-06T06:01:02.8359861Z         "unit": {
2026-06-06T06:01:02.8360143Z           "complete": true,
2026-06-06T06:01:02.8360424Z           "evidence": [
2026-06-06T06:01:02.8360657Z             {
2026-06-06T06:01:02.8361073Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-06T06:01:02.8361340Z               "line": 161
2026-06-06T06:01:02.8361577Z             },
2026-06-06T06:01:02.8361817Z             {
2026-06-06T06:01:02.8362230Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-06T06:01:02.8362503Z               "line": 168
2026-06-06T06:01:02.8362739Z             },
2026-06-06T06:01:02.8362980Z             {
2026-06-06T06:01:02.8363392Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-06T06:01:02.8363663Z               "line": 191
2026-06-06T06:01:02.8363907Z             },
2026-06-06T06:01:02.8364141Z             {
2026-06-06T06:01:02.8364552Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-06T06:01:02.8364815Z               "line": 106
2026-06-06T06:01:02.8365059Z             },
2026-06-06T06:01:02.8365300Z             {
2026-06-06T06:01:02.8365704Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-06T06:01:02.8365978Z               "line": 123
2026-06-06T06:01:02.8366216Z             },
2026-06-06T06:01:02.8366457Z             {
2026-06-06T06:01:02.8366863Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-06T06:01:02.8367155Z               "line": 137
2026-06-06T06:01:02.8367557Z             }
2026-06-06T06:01:02.8367808Z           ]
2026-06-06T06:01:02.8368067Z         }
2026-06-06T06:01:02.8368323Z       }
2026-06-06T06:01:02.8368715Z     },
2026-06-06T06:01:02.8368941Z     {
2026-06-06T06:01:02.8369282Z       "id": "REQ-SEAM-RESUME",
2026-06-06T06:01:02.8370089Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-06T06:01:02.8370382Z       "requiredStages": [
2026-06-06T06:01:02.8370634Z         "impl",
2026-06-06T06:01:02.8370872Z         "unit"
2026-06-06T06:01:02.8371115Z       ],
2026-06-06T06:01:02.8371362Z       "stages": {
2026-06-06T06:01:02.8371614Z         "doc": {
2026-06-06T06:01:02.8371916Z           "complete": false,
2026-06-06T06:01:02.8372185Z           "evidence": []
2026-06-06T06:01:02.8372422Z         },
2026-06-06T06:01:02.8372670Z         "impl": {
2026-06-06T06:01:02.8372964Z           "complete": true,
2026-06-06T06:01:02.8373228Z           "evidence": [
2026-06-06T06:01:02.8373471Z             {
2026-06-06T06:01:02.8373889Z               "path": "crates/spt-live/src/resume.rs",
2026-06-06T06:01:02.8374148Z               "line": 19
2026-06-06T06:01:02.8374390Z             }
2026-06-06T06:01:02.8374621Z           ]
2026-06-06T06:01:02.8374861Z         },
2026-06-06T06:01:02.8375111Z         "int": {
2026-06-06T06:01:02.8375410Z           "complete": false,
2026-06-06T06:01:02.8375692Z           "evidence": []
2026-06-06T06:01:02.8375924Z         },
2026-06-06T06:01:02.8376173Z         "unit": {
2026-06-06T06:01:02.8376447Z           "complete": true,
2026-06-06T06:01:02.8376715Z           "evidence": [
2026-06-06T06:01:02.8376950Z             {
2026-06-06T06:01:02.8377566Z               "path": "crates/spt-live/src/resume.rs",
2026-06-06T06:01:02.8377843Z               "line": 168
2026-06-06T06:01:02.8378085Z             },
2026-06-06T06:01:02.8378327Z             {
2026-06-06T06:01:02.8378739Z               "path": "crates/spt-live/src/resume.rs",
2026-06-06T06:01:02.8379010Z               "line": 187
2026-06-06T06:01:02.8379297Z             },
2026-06-06T06:01:02.8379545Z             {
2026-06-06T06:01:02.8379958Z               "path": "crates/spt-live/src/resume.rs",
2026-06-06T06:01:02.8380217Z               "line": 205
2026-06-06T06:01:02.8380457Z             }
2026-06-06T06:01:02.8380840Z           ]
2026-06-06T06:01:02.8381080Z         }
2026-06-06T06:01:02.8381303Z       }
2026-06-06T06:01:02.8381544Z     },
2026-06-06T06:01:02.8381785Z     {
2026-06-06T06:01:02.8382080Z       "id": "REQ-SEAM-SPAWN",
2026-06-06T06:01:02.8382408Z       "title": "spawn-session seam",
2026-06-06T06:01:02.8382700Z       "requiredStages": [
2026-06-06T06:01:02.8382968Z         "impl",
2026-06-06T06:01:02.8383215Z         "unit"
2026-06-06T06:01:02.8383457Z       ],
2026-06-06T06:01:02.8388725Z       "stages": {
2026-06-06T06:01:02.8389082Z         "doc": {
2026-06-06T06:01:02.8389473Z           "complete": false,
2026-06-06T06:01:02.8389749Z           "evidence": []
2026-06-06T06:01:02.8389988Z         },
2026-06-06T06:01:02.8390236Z         "impl": {
2026-06-06T06:01:02.8390523Z           "complete": true,
2026-06-06T06:01:02.8390797Z           "evidence": [
2026-06-06T06:01:02.8391032Z             {
2026-06-06T06:01:02.8391500Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:01:02.8391801Z               "line": 20
2026-06-06T06:01:02.8392042Z             }
2026-06-06T06:01:02.8392273Z           ]
2026-06-06T06:01:02.8392513Z         },
2026-06-06T06:01:02.8392759Z         "int": {
2026-06-06T06:01:02.8393050Z           "complete": false,
2026-06-06T06:01:02.8393331Z           "evidence": []
2026-06-06T06:01:02.8393561Z         },
2026-06-06T06:01:02.8393820Z         "unit": {
2026-06-06T06:01:02.8394097Z           "complete": true,
2026-06-06T06:01:02.8394370Z           "evidence": [
2026-06-06T06:01:02.8394615Z             {
2026-06-06T06:01:02.8395066Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:01:02.8395330Z               "line": 397
2026-06-06T06:01:02.8395568Z             },
2026-06-06T06:01:02.8395808Z             {
2026-06-06T06:01:02.8396247Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:01:02.8396521Z               "line": 404
2026-06-06T06:01:02.8396760Z             },
2026-06-06T06:01:02.8397003Z             {
2026-06-06T06:01:02.8397455Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:01:02.8397725Z               "line": 414
2026-06-06T06:01:02.8397972Z             },
2026-06-06T06:01:02.8398205Z             {
2026-06-06T06:01:02.8398657Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:01:02.8398927Z               "line": 420
2026-06-06T06:01:02.8399217Z             },
2026-06-06T06:01:02.8399459Z             {
2026-06-06T06:01:02.8399903Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:01:02.8400174Z               "line": 440
2026-06-06T06:01:02.8400407Z             },
2026-06-06T06:01:02.8400648Z             {
2026-06-06T06:01:02.8401101Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-06T06:01:02.8401360Z               "line": 473
2026-06-06T06:01:02.8401595Z             }
2026-06-06T06:01:02.8401828Z           ]
2026-06-06T06:01:02.8402068Z         }
2026-06-06T06:01:02.8402290Z       }
2026-06-06T06:01:02.8402538Z     },
2026-06-06T06:01:02.8402774Z     {
2026-06-06T06:01:02.8403073Z       "id": "REQ-SEAM-UPDATE",
2026-06-06T06:01:02.8403773Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-06T06:01:02.8404111Z       "requiredStages": [
2026-06-06T06:01:02.8404385Z         "impl",
2026-06-06T06:01:02.8404649Z         "unit"
2026-06-06T06:01:02.8405149Z       ],
2026-06-06T06:01:02.8405414Z       "stages": {
2026-06-06T06:01:02.8405650Z         "doc": {
2026-06-06T06:01:02.8405947Z           "complete": false,
2026-06-06T06:01:02.8406218Z           "evidence": []
2026-06-06T06:01:02.8406464Z         },
2026-06-06T06:01:02.8406710Z         "impl": {
2026-06-06T06:01:02.8407009Z           "complete": true,
2026-06-06T06:01:02.8407284Z           "evidence": [
2026-06-06T06:01:02.8407515Z             {
2026-06-06T06:01:02.8408036Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:01:02.8408307Z               "line": 28
2026-06-06T06:01:02.8408548Z             },
2026-06-06T06:01:02.8408924Z             {
2026-06-06T06:01:02.8409491Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:01:02.8409757Z               "line": 83
2026-06-06T06:01:02.8409991Z             }
2026-06-06T06:01:02.8410226Z           ]
2026-06-06T06:01:02.8410455Z         },
2026-06-06T06:01:02.8410698Z         "int": {
2026-06-06T06:01:02.8410992Z           "complete": false,
2026-06-06T06:01:02.8411270Z           "evidence": []
2026-06-06T06:01:02.8411508Z         },
2026-06-06T06:01:02.8411749Z         "unit": {
2026-06-06T06:01:02.8412030Z           "complete": true,
2026-06-06T06:01:02.8412286Z           "evidence": [
2026-06-06T06:01:02.8412525Z             {
2026-06-06T06:01:02.8413023Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:01:02.8413296Z               "line": 270
2026-06-06T06:01:02.8413534Z             },
2026-06-06T06:01:02.8413763Z             {
2026-06-06T06:01:02.8414267Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:01:02.8414546Z               "line": 281
2026-06-06T06:01:02.8414790Z             }
2026-06-06T06:01:02.8415018Z           ]
2026-06-06T06:01:02.8415266Z         }
2026-06-06T06:01:02.8415505Z       }
2026-06-06T06:01:02.8415731Z     },
2026-06-06T06:01:02.8415970Z     {
2026-06-06T06:01:02.8416236Z       "id": "REQ-SEC-1",
2026-06-06T06:01:02.8418206Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-06T06:01:02.8418502Z       "requiredStages": [
2026-06-06T06:01:02.8418751Z         "impl",
2026-06-06T06:01:02.8418996Z         "unit"
2026-06-06T06:01:02.8419260Z       ],
2026-06-06T06:01:02.8419520Z       "stages": {
2026-06-06T06:01:02.8419767Z         "doc": {
2026-06-06T06:01:02.8420059Z           "complete": false,
2026-06-06T06:01:02.8420321Z           "evidence": []
2026-06-06T06:01:02.8420566Z         },
2026-06-06T06:01:02.8420821Z         "impl": {
2026-06-06T06:01:02.8421112Z           "complete": true,
2026-06-06T06:01:02.8421374Z           "evidence": [
2026-06-06T06:01:02.8421602Z             {
2026-06-06T06:01:02.8422043Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-06T06:01:02.8422303Z               "line": 84
2026-06-06T06:01:02.8422550Z             },
2026-06-06T06:01:02.8422784Z             {
2026-06-06T06:01:02.8423217Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-06T06:01:02.8423485Z               "line": 114
2026-06-06T06:01:02.8423721Z             },
2026-06-06T06:01:02.8423959Z             {
2026-06-06T06:01:02.8424388Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-06T06:01:02.8424662Z               "line": 128
2026-06-06T06:01:02.8424900Z             },
2026-06-06T06:01:02.8425132Z             {
2026-06-06T06:01:02.8425547Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:01:02.8425803Z               "line": 108
2026-06-06T06:01:02.8426036Z             },
2026-06-06T06:01:02.8426283Z             {
2026-06-06T06:01:02.8426701Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:01:02.8426966Z               "line": 129
2026-06-06T06:01:02.8427194Z             },
2026-06-06T06:01:02.8427428Z             {
2026-06-06T06:01:02.8427838Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:01:02.8428105Z               "line": 142
2026-06-06T06:01:02.8428503Z             },
2026-06-06T06:01:02.8428736Z             {
2026-06-06T06:01:02.8429195Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:01:02.8429468Z               "line": 208
2026-06-06T06:01:02.8429719Z             },
2026-06-06T06:01:02.8429955Z             {
2026-06-06T06:01:02.8430373Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:01:02.8430639Z               "line": 234
2026-06-06T06:01:02.8430877Z             },
2026-06-06T06:01:02.8431120Z             {
2026-06-06T06:01:02.8431468Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8431920Z               "line": 2235
2026-06-06T06:01:02.8432154Z             }
2026-06-06T06:01:02.8432400Z           ]
2026-06-06T06:01:02.8432639Z         },
2026-06-06T06:01:02.8432883Z         "int": {
2026-06-06T06:01:02.8433174Z           "complete": false,
2026-06-06T06:01:02.8433441Z           "evidence": []
2026-06-06T06:01:02.8433678Z         },
2026-06-06T06:01:02.8433933Z         "unit": {
2026-06-06T06:01:02.8434216Z           "complete": true,
2026-06-06T06:01:02.8434488Z           "evidence": [
2026-06-06T06:01:02.8434719Z             {
2026-06-06T06:01:02.8435158Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-06T06:01:02.8435423Z               "line": 140
2026-06-06T06:01:02.8435662Z             },
2026-06-06T06:01:02.8435897Z             {
2026-06-06T06:01:02.8436336Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-06T06:01:02.8436612Z               "line": 186
2026-06-06T06:01:02.8436846Z             },
2026-06-06T06:01:02.8437098Z             {
2026-06-06T06:01:02.8437523Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-06T06:01:02.8442826Z               "line": 218
2026-06-06T06:01:02.8443122Z             },
2026-06-06T06:01:02.8443368Z             {
2026-06-06T06:01:02.8443842Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-06T06:01:02.8444107Z               "line": 128
2026-06-06T06:01:02.8444369Z             },
2026-06-06T06:01:02.8444600Z             {
2026-06-06T06:01:02.8445029Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:01:02.8445293Z               "line": 248
2026-06-06T06:01:02.8445540Z             },
2026-06-06T06:01:02.8445781Z             {
2026-06-06T06:01:02.8446192Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:01:02.8446459Z               "line": 275
2026-06-06T06:01:02.8446695Z             },
2026-06-06T06:01:02.8446940Z             {
2026-06-06T06:01:02.8447351Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:01:02.8447639Z               "line": 299
2026-06-06T06:01:02.8447882Z             },
2026-06-06T06:01:02.8448114Z             {
2026-06-06T06:01:02.8448543Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:01:02.8448811Z               "line": 310
2026-06-06T06:01:02.8449056Z             },
2026-06-06T06:01:02.8449351Z             {
2026-06-06T06:01:02.8449786Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:01:02.8450065Z               "line": 334
2026-06-06T06:01:02.8450305Z             },
2026-06-06T06:01:02.8450544Z             {
2026-06-06T06:01:02.8450959Z               "path": "crates/spt-store/src/access.rs",
2026-06-06T06:01:02.8451227Z               "line": 350
2026-06-06T06:01:02.8451472Z             },
2026-06-06T06:01:02.8451703Z             {
2026-06-06T06:01:02.8452061Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8452331Z               "line": 3483
2026-06-06T06:01:02.8452572Z             }
2026-06-06T06:01:02.8452798Z           ]
2026-06-06T06:01:02.8453044Z         }
2026-06-06T06:01:02.8453279Z       }
2026-06-06T06:01:02.8453510Z     },
2026-06-06T06:01:02.8453739Z     {
2026-06-06T06:01:02.8454014Z       "id": "REQ-SHELL-1",
2026-06-06T06:01:02.8458880Z       "title": "Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)",
2026-06-06T06:01:02.8459471Z       "requiredStages": [
2026-06-06T06:01:02.8459721Z         "impl",
2026-06-06T06:01:02.8459971Z         "unit",
2026-06-06T06:01:02.8460203Z         "int"
2026-06-06T06:01:02.8460443Z       ],
2026-06-06T06:01:02.8460694Z       "stages": {
2026-06-06T06:01:02.8460949Z         "doc": {
2026-06-06T06:01:02.8461235Z           "complete": false,
2026-06-06T06:01:02.8461509Z           "evidence": []
2026-06-06T06:01:02.8461888Z         },
2026-06-06T06:01:02.8462132Z         "impl": {
2026-06-06T06:01:02.8462421Z           "complete": true,
2026-06-06T06:01:02.8462683Z           "evidence": [
2026-06-06T06:01:02.8462925Z             {
2026-06-06T06:01:02.8463374Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:01:02.8463638Z               "line": 94
2026-06-06T06:01:02.8463892Z             },
2026-06-06T06:01:02.8464119Z             {
2026-06-06T06:01:02.8464572Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:01:02.8464837Z               "line": 119
2026-06-06T06:01:02.8465081Z             },
2026-06-06T06:01:02.8465317Z             {
2026-06-06T06:01:02.8465767Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-06T06:01:02.8466031Z               "line": 27
2026-06-06T06:01:02.8466266Z             },
2026-06-06T06:01:02.8466504Z             {
2026-06-06T06:01:02.8466949Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-06T06:01:02.8467225Z               "line": 52
2026-06-06T06:01:02.8467466Z             },
2026-06-06T06:01:02.8467698Z             {
2026-06-06T06:01:02.8468159Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-06T06:01:02.8468420Z               "line": 128
2026-06-06T06:01:02.8468664Z             },
2026-06-06T06:01:02.8468894Z             {
2026-06-06T06:01:02.8469404Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-06T06:01:02.8469696Z               "line": 160
2026-06-06T06:01:02.8469936Z             },
2026-06-06T06:01:02.8470177Z             {
2026-06-06T06:01:02.8470628Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.8470897Z               "line": 22
2026-06-06T06:01:02.8471134Z             },
2026-06-06T06:01:02.8471373Z             {
2026-06-06T06:01:02.8471824Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.8472079Z               "line": 65
2026-06-06T06:01:02.8472321Z             },
2026-06-06T06:01:02.8472561Z             {
2026-06-06T06:01:02.8473019Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.8473271Z               "line": 76
2026-06-06T06:01:02.8473513Z             },
2026-06-06T06:01:02.8473753Z             {
2026-06-06T06:01:02.8474200Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.8474471Z               "line": 145
2026-06-06T06:01:02.8474714Z             },
2026-06-06T06:01:02.8474958Z             {
2026-06-06T06:01:02.8475403Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.8475677Z               "line": 204
2026-06-06T06:01:02.8475922Z             },
2026-06-06T06:01:02.8476151Z             {
2026-06-06T06:01:02.8476602Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.8476862Z               "line": 241
2026-06-06T06:01:02.8477106Z             },
2026-06-06T06:01:02.8477337Z             {
2026-06-06T06:01:02.8477797Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.8478075Z               "line": 262
2026-06-06T06:01:02.8478305Z             },
2026-06-06T06:01:02.8478535Z             {
2026-06-06T06:01:02.8478980Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.8479287Z               "line": 275
2026-06-06T06:01:02.8479537Z             },
2026-06-06T06:01:02.8479768Z             {
2026-06-06T06:01:02.8480347Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.8480608Z               "line": 185
2026-06-06T06:01:02.8480849Z             },
2026-06-06T06:01:02.8481085Z             {
2026-06-06T06:01:02.8481495Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.8481767Z               "line": 201
2026-06-06T06:01:02.8481999Z             },
2026-06-06T06:01:02.8482236Z             {
2026-06-06T06:01:02.8482677Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:01:02.8482947Z               "line": 41
2026-06-06T06:01:02.8483185Z             },
2026-06-06T06:01:02.8483562Z             {
2026-06-06T06:01:02.8484020Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:01:02.8484279Z               "line": 204
2026-06-06T06:01:02.8484519Z             },
2026-06-06T06:01:02.8484743Z             {
2026-06-06T06:01:02.8485163Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-06T06:01:02.8485428Z               "line": 142
2026-06-06T06:01:02.8485687Z             },
2026-06-06T06:01:02.8485931Z             {
2026-06-06T06:01:02.8486297Z               "path": "crates/spt/src/api/mod.rs",
2026-06-06T06:01:02.8486565Z               "line": 283
2026-06-06T06:01:02.8486801Z             },
2026-06-06T06:01:02.8487043Z             {
2026-06-06T06:01:02.8487414Z               "path": "crates/spt/src/api/mod.rs",
2026-06-06T06:01:02.8487687Z               "line": 314
2026-06-06T06:01:02.8487930Z             },
2026-06-06T06:01:02.8488164Z             {
2026-06-06T06:01:02.8488601Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.8488877Z               "line": 255
2026-06-06T06:01:02.8489121Z             },
2026-06-06T06:01:02.8489402Z             {
2026-06-06T06:01:02.8489765Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8490040Z               "line": 2715
2026-06-06T06:01:02.8490279Z             },
2026-06-06T06:01:02.8490520Z             {
2026-06-06T06:01:02.8490875Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8491149Z               "line": 2852
2026-06-06T06:01:02.8491380Z             },
2026-06-06T06:01:02.8491621Z             {
2026-06-06T06:01:02.8491972Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8492236Z               "line": 2884
2026-06-06T06:01:02.8492468Z             }
2026-06-06T06:01:02.8492698Z           ]
2026-06-06T06:01:02.8492930Z         },
2026-06-06T06:01:02.8493166Z         "int": {
2026-06-06T06:01:02.8493457Z           "complete": true,
2026-06-06T06:01:02.8493727Z           "evidence": [
2026-06-06T06:01:02.8493969Z             {
2026-06-06T06:01:02.8494447Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:01:02.8494705Z               "line": 641
2026-06-06T06:01:02.8499813Z             },
2026-06-06T06:01:02.8500107Z             {
2026-06-06T06:01:02.8500613Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-06T06:01:02.8500875Z               "line": 8
2026-06-06T06:01:02.8501131Z             },
2026-06-06T06:01:02.8501374Z             {
2026-06-06T06:01:02.8501859Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-06T06:01:02.8502131Z               "line": 46
2026-06-06T06:01:02.8502370Z             },
2026-06-06T06:01:02.8502603Z             {
2026-06-06T06:01:02.8503068Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.8503332Z               "line": 631
2026-06-06T06:01:02.8503571Z             },
2026-06-06T06:01:02.8503808Z             {
2026-06-06T06:01:02.8504265Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.8504553Z               "line": 959
2026-06-06T06:01:02.8504787Z             },
2026-06-06T06:01:02.8505024Z             {
2026-06-06T06:01:02.8505496Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-06T06:01:02.8505757Z               "line": 17
2026-06-06T06:01:02.8505995Z             },
2026-06-06T06:01:02.8506233Z             {
2026-06-06T06:01:02.8506876Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-06T06:01:02.8507138Z               "line": 14
2026-06-06T06:01:02.8507379Z             }
2026-06-06T06:01:02.8507610Z           ]
2026-06-06T06:01:02.8507849Z         },
2026-06-06T06:01:02.8508089Z         "unit": {
2026-06-06T06:01:02.8508372Z           "complete": true,
2026-06-06T06:01:02.8508636Z           "evidence": [
2026-06-06T06:01:02.8508863Z             {
2026-06-06T06:01:02.8509375Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-06T06:01:02.8509637Z               "line": 227
2026-06-06T06:01:02.8509880Z             },
2026-06-06T06:01:02.8510245Z             {
2026-06-06T06:01:02.8510707Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-06T06:01:02.8510975Z               "line": 254
2026-06-06T06:01:02.8511210Z             },
2026-06-06T06:01:02.8511450Z             {
2026-06-06T06:01:02.8511898Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-06T06:01:02.8512178Z               "line": 278
2026-06-06T06:01:02.8512411Z             },
2026-06-06T06:01:02.8512651Z             {
2026-06-06T06:01:02.8513106Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.8513369Z               "line": 505
2026-06-06T06:01:02.8513609Z             },
2026-06-06T06:01:02.8513832Z             {
2026-06-06T06:01:02.8514295Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.8514554Z               "line": 569
2026-06-06T06:01:02.8514793Z             },
2026-06-06T06:01:02.8515029Z             {
2026-06-06T06:01:02.8515475Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.8515748Z               "line": 698
2026-06-06T06:01:02.8515988Z             },
2026-06-06T06:01:02.8516228Z             {
2026-06-06T06:01:02.8516634Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.8516905Z               "line": 524
2026-06-06T06:01:02.8517145Z             },
2026-06-06T06:01:02.8517389Z             {
2026-06-06T06:01:02.8517843Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-06T06:01:02.8518101Z               "line": 343
2026-06-06T06:01:02.8518344Z             },
2026-06-06T06:01:02.8518567Z             {
2026-06-06T06:01:02.8518922Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8519231Z               "line": 3698
2026-06-06T06:01:02.8519469Z             },
2026-06-06T06:01:02.8519711Z             {
2026-06-06T06:01:02.8520060Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8520336Z               "line": 3945
2026-06-06T06:01:02.8520576Z             },
2026-06-06T06:01:02.8520816Z             {
2026-06-06T06:01:02.8521168Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8521431Z               "line": 4258
2026-06-06T06:01:02.8521665Z             }
2026-06-06T06:01:02.8521895Z           ]
2026-06-06T06:01:02.8522139Z         }
2026-06-06T06:01:02.8522374Z       }
2026-06-06T06:01:02.8522598Z     },
2026-06-06T06:01:02.8522837Z     {
2026-06-06T06:01:02.8523113Z       "id": "REQ-SHELL-2",
2026-06-06T06:01:02.8530851Z       "title": "Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)",
2026-06-06T06:01:02.8531193Z       "requiredStages": [
2026-06-06T06:01:02.8531464Z         "impl",
2026-06-06T06:01:02.8531709Z         "unit",
2026-06-06T06:01:02.8531939Z         "int"
2026-06-06T06:01:02.8532179Z       ],
2026-06-06T06:01:02.8532425Z       "stages": {
2026-06-06T06:01:02.8532669Z         "doc": {
2026-06-06T06:01:02.8532954Z           "complete": false,
2026-06-06T06:01:02.8533223Z           "evidence": []
2026-06-06T06:01:02.8533666Z         },
2026-06-06T06:01:02.8533908Z         "impl": {
2026-06-06T06:01:02.8534195Z           "complete": true,
2026-06-06T06:01:02.8534455Z           "evidence": [
2026-06-06T06:01:02.8534697Z             {
2026-06-06T06:01:02.8535141Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-06T06:01:02.8535401Z               "line": 158
2026-06-06T06:01:02.8535643Z             },
2026-06-06T06:01:02.8535876Z             {
2026-06-06T06:01:02.8536341Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-06T06:01:02.8536601Z               "line": 375
2026-06-06T06:01:02.8537029Z             },
2026-06-06T06:01:02.8537267Z             {
2026-06-06T06:01:02.8537694Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-06T06:01:02.8537960Z               "line": 243
2026-06-06T06:01:02.8538193Z             },
2026-06-06T06:01:02.8538430Z             {
2026-06-06T06:01:02.8538873Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.8539152Z               "line": 291
2026-06-06T06:01:02.8539453Z             },
2026-06-06T06:01:02.8539691Z             {
2026-06-06T06:01:02.8540140Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:01:02.8540398Z               "line": 30
2026-06-06T06:01:02.8540642Z             },
2026-06-06T06:01:02.8540877Z             {
2026-06-06T06:01:02.8541341Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:01:02.8541615Z               "line": 150
2026-06-06T06:01:02.8541849Z             },
2026-06-06T06:01:02.8542092Z             {
2026-06-06T06:01:02.8542537Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:01:02.8542816Z               "line": 186
2026-06-06T06:01:02.8543056Z             },
2026-06-06T06:01:02.8543292Z             {
2026-06-06T06:01:02.8543747Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:01:02.8544020Z               "line": 323
2026-06-06T06:01:02.8544265Z             },
2026-06-06T06:01:02.8544507Z             {
2026-06-06T06:01:02.8544948Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.8545219Z               "line": 339
2026-06-06T06:01:02.8545457Z             },
2026-06-06T06:01:02.8545702Z             {
2026-06-06T06:01:02.8546157Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-06T06:01:02.8546425Z               "line": 111
2026-06-06T06:01:02.8546665Z             },
2026-06-06T06:01:02.8546908Z             {
2026-06-06T06:01:02.8547375Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.8547632Z               "line": 116
2026-06-06T06:01:02.8547885Z             },
2026-06-06T06:01:02.8548121Z             {
2026-06-06T06:01:02.8548583Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.8548849Z               "line": 348
2026-06-06T06:01:02.8549088Z             },
2026-06-06T06:01:02.8549371Z             {
2026-06-06T06:01:02.8549819Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.8550102Z               "line": 453
2026-06-06T06:01:02.8550338Z             },
2026-06-06T06:01:02.8550576Z             {
2026-06-06T06:01:02.8551028Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:01:02.8551293Z               "line": 24
2026-06-06T06:01:02.8551529Z             },
2026-06-06T06:01:02.8551760Z             {
2026-06-06T06:01:02.8552226Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:01:02.8552482Z               "line": 72
2026-06-06T06:01:02.8552724Z             },
2026-06-06T06:01:02.8552953Z             {
2026-06-06T06:01:02.8553420Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:01:02.8553686Z               "line": 150
2026-06-06T06:01:02.8553911Z             },
2026-06-06T06:01:02.8554152Z             {
2026-06-06T06:01:02.8554602Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:01:02.8554879Z               "line": 173
2026-06-06T06:01:02.8559973Z             },
2026-06-06T06:01:02.8560573Z             {
2026-06-06T06:01:02.8561054Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:01:02.8561316Z               "line": 266
2026-06-06T06:01:02.8561549Z             },
2026-06-06T06:01:02.8561776Z             {
2026-06-06T06:01:02.8562235Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:01:02.8562493Z               "line": 438
2026-06-06T06:01:02.8562736Z             },
2026-06-06T06:01:02.8562976Z             {
2026-06-06T06:01:02.8563423Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:01:02.8563836Z               "line": 513
2026-06-06T06:01:02.8564067Z             },
2026-06-06T06:01:02.8564303Z             {
2026-06-06T06:01:02.8564765Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-06T06:01:02.8565029Z               "line": 27
2026-06-06T06:01:02.8565270Z             },
2026-06-06T06:01:02.8565496Z             {
2026-06-06T06:01:02.8565961Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-06T06:01:02.8566239Z               "line": 43
2026-06-06T06:01:02.8566485Z             },
2026-06-06T06:01:02.8566725Z             {
2026-06-06T06:01:02.8567160Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.8567429Z               "line": 313
2026-06-06T06:01:02.8567660Z             },
2026-06-06T06:01:02.8567898Z             {
2026-06-06T06:01:02.8568243Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8568519Z               "line": 1003
2026-06-06T06:01:02.8568754Z             },
2026-06-06T06:01:02.8568998Z             {
2026-06-06T06:01:02.8569605Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8570041Z               "line": 2724
2026-06-06T06:01:02.8570290Z             },
2026-06-06T06:01:02.8570520Z             {
2026-06-06T06:01:02.8570881Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8571168Z               "line": 2785
2026-06-06T06:01:02.8571400Z             },
2026-06-06T06:01:02.8571655Z             {
2026-06-06T06:01:02.8572007Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8572286Z               "line": 2813
2026-06-06T06:01:02.8572512Z             },
2026-06-06T06:01:02.8572753Z             {
2026-06-06T06:01:02.8573105Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8573370Z               "line": 2859
2026-06-06T06:01:02.8573609Z             },
2026-06-06T06:01:02.8573835Z             {
2026-06-06T06:01:02.8574197Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8574458Z               "line": 2967
2026-06-06T06:01:02.8574724Z             },
2026-06-06T06:01:02.8574964Z             {
2026-06-06T06:01:02.8575308Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8575575Z               "line": 3025
2026-06-06T06:01:02.8575806Z             },
2026-06-06T06:01:02.8576044Z             {
2026-06-06T06:01:02.8576416Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:01:02.8576705Z               "line": 268
2026-06-06T06:01:02.8576948Z             },
2026-06-06T06:01:02.8577179Z             {
2026-06-06T06:01:02.8577558Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:01:02.8577818Z               "line": 301
2026-06-06T06:01:02.8578063Z             }
2026-06-06T06:01:02.8578295Z           ]
2026-06-06T06:01:02.8578539Z         },
2026-06-06T06:01:02.8578782Z         "int": {
2026-06-06T06:01:02.8579056Z           "complete": true,
2026-06-06T06:01:02.8579523Z           "evidence": [
2026-06-06T06:01:02.8579781Z             {
2026-06-06T06:01:02.8580349Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:01:02.8580802Z               "line": 634
2026-06-06T06:01:02.8581057Z             },
2026-06-06T06:01:02.8581290Z             {
2026-06-06T06:01:02.8581736Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.8582008Z               "line": 631
2026-06-06T06:01:02.8582243Z             },
2026-06-06T06:01:02.8582680Z             {
2026-06-06T06:01:02.8583135Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.8583412Z               "line": 959
2026-06-06T06:01:02.8583649Z             },
2026-06-06T06:01:02.8583885Z             {
2026-06-06T06:01:02.8584386Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-06T06:01:02.8584646Z               "line": 18
2026-06-06T06:01:02.8584885Z             }
2026-06-06T06:01:02.8585123Z           ]
2026-06-06T06:01:02.8585361Z         },
2026-06-06T06:01:02.8585604Z         "unit": {
2026-06-06T06:01:02.8585884Z           "complete": true,
2026-06-06T06:01:02.8586299Z           "evidence": [
2026-06-06T06:01:02.8586535Z             {
2026-06-06T06:01:02.8586987Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-06T06:01:02.8587254Z               "line": 401
2026-06-06T06:01:02.8587489Z             },
2026-06-06T06:01:02.8587733Z             {
2026-06-06T06:01:02.8588168Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-06T06:01:02.8588455Z               "line": 687
2026-06-06T06:01:02.8588690Z             },
2026-06-06T06:01:02.8588931Z             {
2026-06-06T06:01:02.8589458Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.8589735Z               "line": 600
2026-06-06T06:01:02.8589982Z             },
2026-06-06T06:01:02.8590216Z             {
2026-06-06T06:01:02.8590676Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.8590945Z               "line": 640
2026-06-06T06:01:02.8591188Z             },
2026-06-06T06:01:02.8591430Z             {
2026-06-06T06:01:02.8591893Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-06T06:01:02.8592171Z               "line": 663
2026-06-06T06:01:02.8592411Z             },
2026-06-06T06:01:02.8607836Z             {
2026-06-06T06:01:02.8608401Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:01:02.8608691Z               "line": 569
2026-06-06T06:01:02.8608942Z             },
2026-06-06T06:01:02.8609368Z             {
2026-06-06T06:01:02.8609835Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:01:02.8610103Z               "line": 582
2026-06-06T06:01:02.8610465Z             },
2026-06-06T06:01:02.8610697Z             {
2026-06-06T06:01:02.8611156Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:01:02.8611432Z               "line": 603
2026-06-06T06:01:02.8611666Z             },
2026-06-06T06:01:02.8611908Z             {
2026-06-06T06:01:02.8612348Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:01:02.8612636Z               "line": 648
2026-06-06T06:01:02.8612864Z             },
2026-06-06T06:01:02.8613109Z             {
2026-06-06T06:01:02.8613565Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:01:02.8613824Z               "line": 663
2026-06-06T06:01:02.8614067Z             },
2026-06-06T06:01:02.8614299Z             {
2026-06-06T06:01:02.8614753Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:01:02.8615029Z               "line": 690
2026-06-06T06:01:02.8615274Z             },
2026-06-06T06:01:02.8615515Z             {
2026-06-06T06:01:02.8615955Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-06T06:01:02.8616225Z               "line": 761
2026-06-06T06:01:02.8616460Z             },
2026-06-06T06:01:02.8616702Z             {
2026-06-06T06:01:02.8617154Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-06T06:01:02.8617421Z               "line": 74
2026-06-06T06:01:02.8617657Z             },
2026-06-06T06:01:02.8617896Z             {
2026-06-06T06:01:02.8618248Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8618517Z               "line": 3418
2026-06-06T06:01:02.8618761Z             },
2026-06-06T06:01:02.8619000Z             {
2026-06-06T06:01:02.8619389Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8619663Z               "line": 3751
2026-06-06T06:01:02.8620285Z             },
2026-06-06T06:01:02.8620524Z             {
2026-06-06T06:01:02.8620870Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8621144Z               "line": 3809
2026-06-06T06:01:02.8621387Z             },
2026-06-06T06:01:02.8621618Z             {
2026-06-06T06:01:02.8621967Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8622231Z               "line": 3835
2026-06-06T06:01:02.8622473Z             }
2026-06-06T06:01:02.8622704Z           ]
2026-06-06T06:01:02.8622944Z         }
2026-06-06T06:01:02.8623180Z       }
2026-06-06T06:01:02.8623406Z     },
2026-06-06T06:01:02.8623803Z     {
2026-06-06T06:01:02.8624083Z       "id": "REQ-START-1",
2026-06-06T06:01:02.8624919Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-06T06:01:02.8625212Z       "requiredStages": [
2026-06-06T06:01:02.8631995Z         "impl",
2026-06-06T06:01:02.8632289Z         "unit"
2026-06-06T06:01:02.8632517Z       ],
2026-06-06T06:01:02.8632805Z       "stages": {
2026-06-06T06:01:02.8633045Z         "doc": {
2026-06-06T06:01:02.8633341Z           "complete": false,
2026-06-06T06:01:02.8633608Z           "evidence": []
2026-06-06T06:01:02.8633844Z         },
2026-06-06T06:01:02.8634096Z         "impl": {
2026-06-06T06:01:02.8634375Z           "complete": true,
2026-06-06T06:01:02.8634643Z           "evidence": [
2026-06-06T06:01:02.8634874Z             {
2026-06-06T06:01:02.8635285Z               "path": "crates/spt-store/src/seed.rs",
2026-06-06T06:01:02.8635543Z               "line": 16
2026-06-06T06:01:02.8635784Z             }
2026-06-06T06:01:02.8636028Z           ]
2026-06-06T06:01:02.8636273Z         },
2026-06-06T06:01:02.8636525Z         "int": {
2026-06-06T06:01:02.8636801Z           "complete": false,
2026-06-06T06:01:02.8637077Z           "evidence": []
2026-06-06T06:01:02.8637309Z         },
2026-06-06T06:01:02.8637559Z         "unit": {
2026-06-06T06:01:02.8637843Z           "complete": true,
2026-06-06T06:01:02.8638107Z           "evidence": [
2026-06-06T06:01:02.8638359Z             {
2026-06-06T06:01:02.8638761Z               "path": "crates/spt-store/src/seed.rs",
2026-06-06T06:01:02.8639029Z               "line": 43
2026-06-06T06:01:02.8639319Z             },
2026-06-06T06:01:02.8639558Z             {
2026-06-06T06:01:02.8639965Z               "path": "crates/spt-store/src/seed.rs",
2026-06-06T06:01:02.8640222Z               "line": 59
2026-06-06T06:01:02.8640468Z             }
2026-06-06T06:01:02.8640697Z           ]
2026-06-06T06:01:02.8640935Z         }
2026-06-06T06:01:02.8641157Z       }
2026-06-06T06:01:02.8641392Z     },
2026-06-06T06:01:02.8641628Z     {
2026-06-06T06:01:02.8641921Z       "id": "REQ-START-2",
2026-06-06T06:01:02.8642476Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-06T06:01:02.8642761Z       "requiredStages": [
2026-06-06T06:01:02.8643010Z         "impl",
2026-06-06T06:01:02.8643245Z         "unit",
2026-06-06T06:01:02.8643494Z         "int"
2026-06-06T06:01:02.8643730Z       ],
2026-06-06T06:01:02.8643986Z       "stages": {
2026-06-06T06:01:02.8644231Z         "doc": {
2026-06-06T06:01:02.8644510Z           "complete": false,
2026-06-06T06:01:02.8644781Z           "evidence": []
2026-06-06T06:01:02.8645013Z         },
2026-06-06T06:01:02.8645269Z         "impl": {
2026-06-06T06:01:02.8645540Z           "complete": true,
2026-06-06T06:01:02.8645811Z           "evidence": [
2026-06-06T06:01:02.8646048Z             {
2026-06-06T06:01:02.8646449Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.8646713Z               "line": 16
2026-06-06T06:01:02.8646940Z             },
2026-06-06T06:01:02.8647195Z             {
2026-06-06T06:01:02.8647598Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.8647866Z               "line": 97
2026-06-06T06:01:02.8648110Z             },
2026-06-06T06:01:02.8648346Z             {
2026-06-06T06:01:02.8648927Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.8649580Z               "line": 203
2026-06-06T06:01:02.8650154Z             }
2026-06-06T06:01:02.8650573Z           ]
2026-06-06T06:01:02.8650804Z         },
2026-06-06T06:01:02.8651056Z         "int": {
2026-06-06T06:01:02.8651328Z           "complete": true,
2026-06-06T06:01:02.8651598Z           "evidence": [
2026-06-06T06:01:02.8651830Z             {
2026-06-06T06:01:02.8652270Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:01:02.8652543Z               "line": 150
2026-06-06T06:01:02.8652778Z             }
2026-06-06T06:01:02.8653020Z           ]
2026-06-06T06:01:02.8653250Z         },
2026-06-06T06:01:02.8653495Z         "unit": {
2026-06-06T06:01:02.8653917Z           "complete": true,
2026-06-06T06:01:02.8654188Z           "evidence": [
2026-06-06T06:01:02.8654427Z             {
2026-06-06T06:01:02.8654836Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.8655108Z               "line": 411
2026-06-06T06:01:02.8655347Z             },
2026-06-06T06:01:02.8655582Z             {
2026-06-06T06:01:02.8656008Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.8656282Z               "line": 444
2026-06-06T06:01:02.8656522Z             }
2026-06-06T06:01:02.8656753Z           ]
2026-06-06T06:01:02.8656991Z         }
2026-06-06T06:01:02.8657222Z       }
2026-06-06T06:01:02.8657457Z     },
2026-06-06T06:01:02.8657687Z     {
2026-06-06T06:01:02.8657973Z       "id": "REQ-START-3",
2026-06-06T06:01:02.8658680Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-06T06:01:02.8658981Z       "requiredStages": [
2026-06-06T06:01:02.8659284Z         "impl",
2026-06-06T06:01:02.8659539Z         "unit",
2026-06-06T06:01:02.8659868Z         "int"
2026-06-06T06:01:02.8660102Z       ],
2026-06-06T06:01:02.8660351Z       "stages": {
2026-06-06T06:01:02.8660602Z         "doc": {
2026-06-06T06:01:02.8660892Z           "complete": false,
2026-06-06T06:01:02.8661164Z           "evidence": []
2026-06-06T06:01:02.8661395Z         },
2026-06-06T06:01:02.8661665Z         "impl": {
2026-06-06T06:01:02.8661948Z           "complete": true,
2026-06-06T06:01:02.8662220Z           "evidence": [
2026-06-06T06:01:02.8662460Z             {
2026-06-06T06:01:02.8662893Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-06T06:01:02.8663161Z               "line": 23
2026-06-06T06:01:02.8663394Z             },
2026-06-06T06:01:02.8663629Z             {
2026-06-06T06:01:02.8664067Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-06T06:01:02.8664339Z               "line": 167
2026-06-06T06:01:02.8664586Z             },
2026-06-06T06:01:02.8664818Z             {
2026-06-06T06:01:02.8665275Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-06T06:01:02.8665536Z               "line": 180
2026-06-06T06:01:02.8665781Z             },
2026-06-06T06:01:02.8666014Z             {
2026-06-06T06:01:02.8666435Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.8666702Z               "line": 17
2026-06-06T06:01:02.8666953Z             },
2026-06-06T06:01:02.8667191Z             {
2026-06-06T06:01:02.8667585Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.8667852Z               "line": 43
2026-06-06T06:01:02.8668086Z             },
2026-06-06T06:01:02.8668327Z             {
2026-06-06T06:01:02.8668737Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.8668986Z               "line": 98
2026-06-06T06:01:02.8669264Z             }
2026-06-06T06:01:02.8669505Z           ]
2026-06-06T06:01:02.8669745Z         },
2026-06-06T06:01:02.8669982Z         "int": {
2026-06-06T06:01:02.8670274Z           "complete": true,
2026-06-06T06:01:02.8670565Z           "evidence": [
2026-06-06T06:01:02.8670795Z             {
2026-06-06T06:01:02.8671234Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-06T06:01:02.8671493Z               "line": 321
2026-06-06T06:01:02.8671742Z             }
2026-06-06T06:01:02.8671971Z           ]
2026-06-06T06:01:02.8672215Z         },
2026-06-06T06:01:02.8672631Z         "unit": {
2026-06-06T06:01:02.8672914Z           "complete": true,
2026-06-06T06:01:02.8673186Z           "evidence": [
2026-06-06T06:01:02.8673426Z             {
2026-06-06T06:01:02.8673869Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-06T06:01:02.8674123Z               "line": 245
2026-06-06T06:01:02.8674372Z             },
2026-06-06T06:01:02.8674609Z             {
2026-06-06T06:01:02.8675047Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-06T06:01:02.8675314Z               "line": 263
2026-06-06T06:01:02.8675550Z             },
2026-06-06T06:01:02.8675792Z             {
2026-06-06T06:01:02.8676360Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-06T06:01:02.8676635Z               "line": 273
2026-06-06T06:01:02.8676874Z             },
2026-06-06T06:01:02.8677097Z             {
2026-06-06T06:01:02.8677507Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.8677768Z               "line": 412
2026-06-06T06:01:02.8678027Z             },
2026-06-06T06:01:02.8678262Z             {
2026-06-06T06:01:02.8678685Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.8684345Z               "line": 445
2026-06-06T06:01:02.8684669Z             },
2026-06-06T06:01:02.8684916Z             {
2026-06-06T06:01:02.8685349Z               "path": "crates/spt/src/api/startup.rs",
2026-06-06T06:01:02.8685632Z               "line": 453
2026-06-06T06:01:02.8685867Z             }
2026-06-06T06:01:02.8686116Z           ]
2026-06-06T06:01:02.8686357Z         }
2026-06-06T06:01:02.8686588Z       }
2026-06-06T06:01:02.8686830Z     },
2026-06-06T06:01:02.8687085Z     {
2026-06-06T06:01:02.8687367Z       "id": "REQ-START-4",
2026-06-06T06:01:02.8687908Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-06T06:01:02.8688216Z       "requiredStages": [
2026-06-06T06:01:02.8688466Z         "impl",
2026-06-06T06:01:02.8688700Z         "unit"
2026-06-06T06:01:02.8688939Z       ],
2026-06-06T06:01:02.8689286Z       "stages": {
2026-06-06T06:01:02.8689545Z         "doc": {
2026-06-06T06:01:02.8689828Z           "complete": false,
2026-06-06T06:01:02.8690108Z           "evidence": []
2026-06-06T06:01:02.8690349Z         },
2026-06-06T06:01:02.8690595Z         "impl": {
2026-06-06T06:01:02.8690882Z           "complete": true,
2026-06-06T06:01:02.8691146Z           "evidence": [
2026-06-06T06:01:02.8691387Z             {
2026-06-06T06:01:02.8691823Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.8692104Z               "line": 378
2026-06-06T06:01:02.8692345Z             }
2026-06-06T06:01:02.8692594Z           ]
2026-06-06T06:01:02.8692841Z         },
2026-06-06T06:01:02.8693081Z         "int": {
2026-06-06T06:01:02.8693375Z           "complete": false,
2026-06-06T06:01:02.8693644Z           "evidence": []
2026-06-06T06:01:02.8693884Z         },
2026-06-06T06:01:02.8694134Z         "unit": {
2026-06-06T06:01:02.8694417Z           "complete": true,
2026-06-06T06:01:02.8694682Z           "evidence": [
2026-06-06T06:01:02.8694928Z             {
2026-06-06T06:01:02.8695371Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-06T06:01:02.8695636Z               "line": 609
2026-06-06T06:01:02.8695878Z             }
2026-06-06T06:01:02.8696121Z           ]
2026-06-06T06:01:02.8696351Z         }
2026-06-06T06:01:02.8696590Z       }
2026-06-06T06:01:02.8696810Z     },
2026-06-06T06:01:02.8697046Z     {
2026-06-06T06:01:02.8697327Z       "id": "REQ-STORE-1",
2026-06-06T06:01:02.8701986Z       "title": "spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)",
2026-06-06T06:01:02.8702305Z       "requiredStages": [
2026-06-06T06:01:02.8702548Z         "impl",
2026-06-06T06:01:02.8702797Z         "unit"
2026-06-06T06:01:02.8703282Z       ],
2026-06-06T06:01:02.8703529Z       "stages": {
2026-06-06T06:01:02.8703784Z         "doc": {
2026-06-06T06:01:02.8704071Z           "complete": false,
2026-06-06T06:01:02.8704352Z           "evidence": []
2026-06-06T06:01:02.8704587Z         },
2026-06-06T06:01:02.8704839Z         "impl": {
2026-06-06T06:01:02.8705122Z           "complete": true,
2026-06-06T06:01:02.8705397Z           "evidence": [
2026-06-06T06:01:02.8705640Z             {
2026-06-06T06:01:02.8706115Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.8706381Z               "line": 23
2026-06-06T06:01:02.8706618Z             },
2026-06-06T06:01:02.8706995Z             {
2026-06-06T06:01:02.8707473Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.8707725Z               "line": 46
2026-06-06T06:01:02.8707963Z             },
2026-06-06T06:01:02.8708196Z             {
2026-06-06T06:01:02.8708658Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.8708928Z               "line": 88
2026-06-06T06:01:02.8709220Z             },
2026-06-06T06:01:02.8709473Z             {
2026-06-06T06:01:02.8709944Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.8710218Z               "line": 109
2026-06-06T06:01:02.8710462Z             },
2026-06-06T06:01:02.8710710Z             {
2026-06-06T06:01:02.8711178Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.8711453Z               "line": 152
2026-06-06T06:01:02.8711695Z             },
2026-06-06T06:01:02.8711931Z             {
2026-06-06T06:01:02.8712406Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.8712686Z               "line": 165
2026-06-06T06:01:02.8712930Z             },
2026-06-06T06:01:02.8713167Z             {
2026-06-06T06:01:02.8713646Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.8713923Z               "line": 353
2026-06-06T06:01:02.8714158Z             },
2026-06-06T06:01:02.8714413Z             {
2026-06-06T06:01:02.8714897Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.8715158Z               "line": 25
2026-06-06T06:01:02.8715398Z             },
2026-06-06T06:01:02.8715642Z             {
2026-06-06T06:01:02.8716135Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.8716399Z               "line": 101
2026-06-06T06:01:02.8716641Z             },
2026-06-06T06:01:02.8716872Z             {
2026-06-06T06:01:02.8717358Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.8717616Z               "line": 126
2026-06-06T06:01:02.8717869Z             },
2026-06-06T06:01:02.8718105Z             {
2026-06-06T06:01:02.8718581Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.8718857Z               "line": 140
2026-06-06T06:01:02.8719096Z             },
2026-06-06T06:01:02.8719374Z             {
2026-06-06T06:01:02.8719849Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.8720128Z               "line": 154
2026-06-06T06:01:02.8720371Z             },
2026-06-06T06:01:02.8720605Z             {
2026-06-06T06:01:02.8721086Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.8721344Z               "line": 163
2026-06-06T06:01:02.8721576Z             },
2026-06-06T06:01:02.8721817Z             {
2026-06-06T06:01:02.8722248Z               "path": "crates/spt-store/src/project.rs",
2026-06-06T06:01:02.8722515Z               "line": 16
2026-06-06T06:01:02.8722743Z             },
2026-06-06T06:01:02.8722977Z             {
2026-06-06T06:01:02.8723424Z               "path": "crates/spt-store/src/project.rs",
2026-06-06T06:01:02.8723694Z               "line": 63
2026-06-06T06:01:02.8723933Z             }
2026-06-06T06:01:02.8724164Z           ]
2026-06-06T06:01:02.8724398Z         },
2026-06-06T06:01:02.8724637Z         "int": {
2026-06-06T06:01:02.8724928Z           "complete": false,
2026-06-06T06:01:02.8725354Z           "evidence": []
2026-06-06T06:01:02.8725599Z         },
2026-06-06T06:01:02.8725848Z         "unit": {
2026-06-06T06:01:02.8726122Z           "complete": true,
2026-06-06T06:01:02.8726391Z           "evidence": [
2026-06-06T06:01:02.8726629Z             {
2026-06-06T06:01:02.8727101Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.8727364Z               "line": 468
2026-06-06T06:01:02.8727609Z             },
2026-06-06T06:01:02.8727853Z             {
2026-06-06T06:01:02.8728314Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.8728587Z               "line": 478
2026-06-06T06:01:02.8728948Z             },
2026-06-06T06:01:02.8729231Z             {
2026-06-06T06:01:02.8729699Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.8729972Z               "line": 498
2026-06-06T06:01:02.8730215Z             },
2026-06-06T06:01:02.8730448Z             {
2026-06-06T06:01:02.8730917Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.8731189Z               "line": 514
2026-06-06T06:01:02.8731442Z             },
2026-06-06T06:01:02.8731672Z             {
2026-06-06T06:01:02.8732141Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-06T06:01:02.8732414Z               "line": 535
2026-06-06T06:01:02.8732652Z             },
2026-06-06T06:01:02.8732894Z             {
2026-06-06T06:01:02.8733370Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.8733643Z               "line": 427
2026-06-06T06:01:02.8733879Z             },
2026-06-06T06:01:02.8734118Z             {
2026-06-06T06:01:02.8734605Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-06T06:01:02.8734866Z               "line": 457
2026-06-06T06:01:02.8735110Z             },
2026-06-06T06:01:02.8735345Z             {
2026-06-06T06:01:02.8735788Z               "path": "crates/spt-store/src/project.rs",
2026-06-06T06:01:02.8736058Z               "line": 116
2026-06-06T06:01:02.8736306Z             },
2026-06-06T06:01:02.8741485Z             {
2026-06-06T06:01:02.8742009Z               "path": "crates/spt-store/src/project.rs",
2026-06-06T06:01:02.8742293Z               "line": 124
2026-06-06T06:01:02.8742530Z             }
2026-06-06T06:01:02.8742765Z           ]
2026-06-06T06:01:02.8742988Z         }
2026-06-06T06:01:02.8743232Z       }
2026-06-06T06:01:02.8743466Z     },
2026-06-06T06:01:02.8743692Z     {
2026-06-06T06:01:02.8743980Z       "id": "REQ-SUBNET-1",
2026-06-06T06:01:02.8745534Z       "title": "spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-totp; spt pair deleted",
2026-06-06T06:01:02.8745853Z       "requiredStages": [
2026-06-06T06:01:02.8746097Z         "impl",
2026-06-06T06:01:02.8746327Z         "unit"
2026-06-06T06:01:02.8746566Z       ],
2026-06-06T06:01:02.8746814Z       "stages": {
2026-06-06T06:01:02.8747050Z         "doc": {
2026-06-06T06:01:02.8747327Z           "complete": false,
2026-06-06T06:01:02.8747606Z           "evidence": []
2026-06-06T06:01:02.8747847Z         },
2026-06-06T06:01:02.8748090Z         "impl": {
2026-06-06T06:01:02.8748370Z           "complete": true,
2026-06-06T06:01:02.8748627Z           "evidence": [
2026-06-06T06:01:02.8748863Z             {
2026-06-06T06:01:02.8749413Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.8749695Z               "line": 217
2026-06-06T06:01:02.8749933Z             },
2026-06-06T06:01:02.8750166Z             {
2026-06-06T06:01:02.8750665Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.8750928Z               "line": 399
2026-06-06T06:01:02.8751183Z             },
2026-06-06T06:01:02.8751415Z             {
2026-06-06T06:01:02.8751775Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8752045Z               "line": 1603
2026-06-06T06:01:02.8752278Z             },
2026-06-06T06:01:02.8752514Z             {
2026-06-06T06:01:02.8752858Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8753407Z               "line": 1687
2026-06-06T06:01:02.8753641Z             },
2026-06-06T06:01:02.8753878Z             {
2026-06-06T06:01:02.8754233Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8754497Z               "line": 1699
2026-06-06T06:01:02.8754740Z             },
2026-06-06T06:01:02.8754968Z             {
2026-06-06T06:01:02.8755316Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8755583Z               "line": 1721
2026-06-06T06:01:02.8755823Z             },
2026-06-06T06:01:02.8756065Z             {
2026-06-06T06:01:02.8756406Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8756808Z               "line": 1750
2026-06-06T06:01:02.8757040Z             },
2026-06-06T06:01:02.8757279Z             {
2026-06-06T06:01:02.8757624Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8757898Z               "line": 1812
2026-06-06T06:01:02.8758144Z             },
2026-06-06T06:01:02.8758373Z             {
2026-06-06T06:01:02.8758737Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8759005Z               "line": 1856
2026-06-06T06:01:02.8759284Z             },
2026-06-06T06:01:02.8759515Z             {
2026-06-06T06:01:02.8759868Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8760141Z               "line": 1891
2026-06-06T06:01:02.8760376Z             },
2026-06-06T06:01:02.8760609Z             {
2026-06-06T06:01:02.8760979Z               "path": "crates/spt/src/wansend.rs",
2026-06-06T06:01:02.8761248Z               "line": 362
2026-06-06T06:01:02.8761484Z             }
2026-06-06T06:01:02.8761734Z           ]
2026-06-06T06:01:02.8761968Z         },
2026-06-06T06:01:02.8762203Z         "int": {
2026-06-06T06:01:02.8762487Z           "complete": false,
2026-06-06T06:01:02.8762750Z           "evidence": []
2026-06-06T06:01:02.8762986Z         },
2026-06-06T06:01:02.8763223Z         "unit": {
2026-06-06T06:01:02.8763508Z           "complete": true,
2026-06-06T06:01:02.8763779Z           "evidence": [
2026-06-06T06:01:02.8764008Z             {
2026-06-06T06:01:02.8764499Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.8764757Z               "line": 714
2026-06-06T06:01:02.8765000Z             },
2026-06-06T06:01:02.8765236Z             {
2026-06-06T06:01:02.8765593Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8765863Z               "line": 4459
2026-06-06T06:01:02.8766095Z             },
2026-06-06T06:01:02.8766328Z             {
2026-06-06T06:01:02.8766668Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8766950Z               "line": 4520
2026-06-06T06:01:02.8767181Z             },
2026-06-06T06:01:02.8767424Z             {
2026-06-06T06:01:02.8767768Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8768027Z               "line": 4527
2026-06-06T06:01:02.8768268Z             },
2026-06-06T06:01:02.8768491Z             {
2026-06-06T06:01:02.8768839Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8769113Z               "line": 4545
2026-06-06T06:01:02.8769388Z             },
2026-06-06T06:01:02.8769632Z             {
2026-06-06T06:01:02.8769975Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8770249Z               "line": 4558
2026-06-06T06:01:02.8770484Z             },
2026-06-06T06:01:02.8770722Z             {
2026-06-06T06:01:02.8771062Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8771326Z               "line": 4568
2026-06-06T06:01:02.8771566Z             },
2026-06-06T06:01:02.8771798Z             {
2026-06-06T06:01:02.8772149Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8772418Z               "line": 4623
2026-06-06T06:01:02.8772653Z             }
2026-06-06T06:01:02.8772883Z           ]
2026-06-06T06:01:02.8773102Z         }
2026-06-06T06:01:02.8773331Z       }
2026-06-06T06:01:02.8773553Z     },
2026-06-06T06:01:02.8773776Z     {
2026-06-06T06:01:02.8774057Z       "id": "REQ-SUBNET-2",
2026-06-06T06:01:02.8775322Z       "title": "Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder",
2026-06-06T06:01:02.8775627Z       "requiredStages": [
2026-06-06T06:01:02.8775869Z         "impl",
2026-06-06T06:01:02.8776116Z         "unit",
2026-06-06T06:01:02.8776351Z         "int"
2026-06-06T06:01:02.8776593Z       ],
2026-06-06T06:01:02.8776837Z       "stages": {
2026-06-06T06:01:02.8777077Z         "doc": {
2026-06-06T06:01:02.8777355Z           "complete": true,
2026-06-06T06:01:02.8777629Z           "evidence": [
2026-06-06T06:01:02.8777874Z             {
2026-06-06T06:01:02.8778505Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-06T06:01:02.8778903Z               "line": 60
2026-06-06T06:01:02.8779125Z             }
2026-06-06T06:01:02.8779407Z           ]
2026-06-06T06:01:02.8779647Z         },
2026-06-06T06:01:02.8779897Z         "impl": {
2026-06-06T06:01:02.8780177Z           "complete": true,
2026-06-06T06:01:02.8780438Z           "evidence": [
2026-06-06T06:01:02.8780683Z             {
2026-06-06T06:01:02.8781104Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:01:02.8781373Z               "line": 514
2026-06-06T06:01:02.8781617Z             },
2026-06-06T06:01:02.8781840Z             {
2026-06-06T06:01:02.8782276Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-06T06:01:02.8782530Z               "line": 606
2026-06-06T06:01:02.8782770Z             },
2026-06-06T06:01:02.8782993Z             {
2026-06-06T06:01:02.8783434Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:01:02.8783704Z               "line": 401
2026-06-06T06:01:02.8783944Z             },
2026-06-06T06:01:02.8784185Z             {
2026-06-06T06:01:02.8784610Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-06T06:01:02.8784874Z               "line": 477
2026-06-06T06:01:02.8785102Z             },
2026-06-06T06:01:02.8785336Z             {
2026-06-06T06:01:02.8785784Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-06T06:01:02.8786051Z               "line": 26
2026-06-06T06:01:02.8786298Z             },
2026-06-06T06:01:02.8786529Z             {
2026-06-06T06:01:02.8786974Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-06T06:01:02.8787223Z               "line": 54
2026-06-06T06:01:02.8787456Z             },
2026-06-06T06:01:02.8787694Z             {
2026-06-06T06:01:02.8788142Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-06T06:01:02.8788403Z               "line": 94
2026-06-06T06:01:02.8788638Z             },
2026-06-06T06:01:02.8788876Z             {
2026-06-06T06:01:02.8794118Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-06T06:01:02.8794476Z               "line": 190
2026-06-06T06:01:02.8794725Z             },
2026-06-06T06:01:02.8794958Z             {
2026-06-06T06:01:02.8795318Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8795583Z               "line": 1994
2026-06-06T06:01:02.8795854Z             }
2026-06-06T06:01:02.8796086Z           ]
2026-06-06T06:01:02.8796319Z         },
2026-06-06T06:01:02.8796557Z         "int": {
2026-06-06T06:01:02.8796841Z           "complete": true,
2026-06-06T06:01:02.8797103Z           "evidence": [
2026-06-06T06:01:02.8797340Z             {
2026-06-06T06:01:02.8797792Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.8798058Z               "line": 535
2026-06-06T06:01:02.8798298Z             },
2026-06-06T06:01:02.8798533Z             {
2026-06-06T06:01:02.8798977Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.8799340Z               "line": 696
2026-06-06T06:01:02.8799582Z             }
2026-06-06T06:01:02.8799843Z           ]
2026-06-06T06:01:02.8800078Z         },
2026-06-06T06:01:02.8800329Z         "unit": {
2026-06-06T06:01:02.8800619Z           "complete": true,
2026-06-06T06:01:02.8800881Z           "evidence": [
2026-06-06T06:01:02.8801117Z             {
2026-06-06T06:01:02.8801569Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-06T06:01:02.8802093Z               "line": 254
2026-06-06T06:01:02.8802323Z             },
2026-06-06T06:01:02.8802565Z             {
2026-06-06T06:01:02.8802922Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8803179Z               "line": 4490
2026-06-06T06:01:02.8803421Z             }
2026-06-06T06:01:02.8803644Z           ]
2026-06-06T06:01:02.8803881Z         }
2026-06-06T06:01:02.8804111Z       }
2026-06-06T06:01:02.8804343Z     },
2026-06-06T06:01:02.8804573Z     {
2026-06-06T06:01:02.8804852Z       "id": "REQ-SUBNET-3",
2026-06-06T06:01:02.8806261Z       "title": "Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)",
2026-06-06T06:01:02.8806551Z       "requiredStages": [
2026-06-06T06:01:02.8806800Z         "impl",
2026-06-06T06:01:02.8807032Z         "unit"
2026-06-06T06:01:02.8807274Z       ],
2026-06-06T06:01:02.8807527Z       "stages": {
2026-06-06T06:01:02.8807764Z         "doc": {
2026-06-06T06:01:02.8808057Z           "complete": false,
2026-06-06T06:01:02.8808323Z           "evidence": []
2026-06-06T06:01:02.8808563Z         },
2026-06-06T06:01:02.8808805Z         "impl": {
2026-06-06T06:01:02.8809084Z           "complete": true,
2026-06-06T06:01:02.8809399Z           "evidence": [
2026-06-06T06:01:02.8809624Z             {
2026-06-06T06:01:02.8810123Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.8810382Z               "line": 131
2026-06-06T06:01:02.8810628Z             },
2026-06-06T06:01:02.8810851Z             {
2026-06-06T06:01:02.8811352Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.8811632Z               "line": 315
2026-06-06T06:01:02.8811865Z             },
2026-06-06T06:01:02.8812106Z             {
2026-06-06T06:01:02.8812549Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.8812818Z               "line": 125
2026-06-06T06:01:02.8813054Z             },
2026-06-06T06:01:02.8813296Z             {
2026-06-06T06:01:02.8813748Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.8814014Z               "line": 454
2026-06-06T06:01:02.8814258Z             },
2026-06-06T06:01:02.8814496Z             {
2026-06-06T06:01:02.8814943Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.8815210Z               "line": 508
2026-06-06T06:01:02.8815442Z             },
2026-06-06T06:01:02.8815675Z             {
2026-06-06T06:01:02.8816113Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-06T06:01:02.8816371Z               "line": 9
2026-06-06T06:01:02.8816613Z             },
2026-06-06T06:01:02.8816848Z             {
2026-06-06T06:01:02.8817201Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8817462Z               "line": 1856
2026-06-06T06:01:02.8817699Z             }
2026-06-06T06:01:02.8817926Z           ]
2026-06-06T06:01:02.8818162Z         },
2026-06-06T06:01:02.8818402Z         "int": {
2026-06-06T06:01:02.8818702Z           "complete": false,
2026-06-06T06:01:02.8818973Z           "evidence": []
2026-06-06T06:01:02.8819242Z         },
2026-06-06T06:01:02.8819498Z         "unit": {
2026-06-06T06:01:02.8819771Z           "complete": true,
2026-06-06T06:01:02.8820039Z           "evidence": [
2026-06-06T06:01:02.8820264Z             {
2026-06-06T06:01:02.8820751Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-06T06:01:02.8821017Z               "line": 746
2026-06-06T06:01:02.8821249Z             },
2026-06-06T06:01:02.8821486Z             {
2026-06-06T06:01:02.8821922Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.8822209Z               "line": 739
2026-06-06T06:01:02.8822436Z             },
2026-06-06T06:01:02.8822675Z             {
2026-06-06T06:01:02.8823119Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-06T06:01:02.8823371Z               "line": 775
2026-06-06T06:01:02.8823610Z             },
2026-06-06T06:01:02.8824002Z             {
2026-06-06T06:01:02.8824453Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-06T06:01:02.8824702Z               "line": 49
2026-06-06T06:01:02.8824955Z             },
2026-06-06T06:01:02.8825194Z             {
2026-06-06T06:01:02.8825533Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8825802Z               "line": 4623
2026-06-06T06:01:02.8826031Z             }
2026-06-06T06:01:02.8826261Z           ]
2026-06-06T06:01:02.8826487Z         }
2026-06-06T06:01:02.8826724Z       }
2026-06-06T06:01:02.8826950Z     },
2026-06-06T06:01:02.8827178Z     {
2026-06-06T06:01:02.8827649Z       "id": "REQ-SUBNET-4",
2026-06-06T06:01:02.8828992Z       "title": "Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)",
2026-06-06T06:01:02.8829332Z       "requiredStages": [
2026-06-06T06:01:02.8829575Z         "impl",
2026-06-06T06:01:02.8829818Z         "unit"
2026-06-06T06:01:02.8830055Z       ],
2026-06-06T06:01:02.8830317Z       "stages": {
2026-06-06T06:01:02.8830561Z         "doc": {
2026-06-06T06:01:02.8830842Z           "complete": true,
2026-06-06T06:01:02.8831115Z           "evidence": [
2026-06-06T06:01:02.8831347Z             {
2026-06-06T06:01:02.8831977Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-06T06:01:02.8832246Z               "line": 60
2026-06-06T06:01:02.8832477Z             }
2026-06-06T06:01:02.8832713Z           ]
2026-06-06T06:01:02.8832943Z         },
2026-06-06T06:01:02.8833205Z         "impl": {
2026-06-06T06:01:02.8833484Z           "complete": true,
2026-06-06T06:01:02.8833769Z           "evidence": [
2026-06-06T06:01:02.8834014Z             {
2026-06-06T06:01:02.8834353Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8834622Z               "line": 1603
2026-06-06T06:01:02.8834854Z             },
2026-06-06T06:01:02.8835087Z             {
2026-06-06T06:01:02.8835436Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8835718Z               "line": 1961
2026-06-06T06:01:02.8835958Z             },
2026-06-06T06:01:02.8836193Z             {
2026-06-06T06:01:02.8836550Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8836806Z               "line": 1994
2026-06-06T06:01:02.8837041Z             }
2026-06-06T06:01:02.8837264Z           ]
2026-06-06T06:01:02.8837504Z         },
2026-06-06T06:01:02.8837745Z         "int": {
2026-06-06T06:01:02.8838026Z           "complete": false,
2026-06-06T06:01:02.8838295Z           "evidence": []
2026-06-06T06:01:02.8838522Z         },
2026-06-06T06:01:02.8838777Z         "unit": {
2026-06-06T06:01:02.8839063Z           "complete": true,
2026-06-06T06:01:02.8839369Z           "evidence": [
2026-06-06T06:01:02.8839614Z             {
2026-06-06T06:01:02.8839962Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8840232Z               "line": 4506
2026-06-06T06:01:02.8840465Z             },
2026-06-06T06:01:02.8840707Z             {
2026-06-06T06:01:02.8841069Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8841338Z               "line": 4545
2026-06-06T06:01:02.8841577Z             }
2026-06-06T06:01:02.8846591Z           ]
2026-06-06T06:01:02.8846902Z         }
2026-06-06T06:01:02.8847134Z       }
2026-06-06T06:01:02.8847368Z     },
2026-06-06T06:01:02.8847588Z     {
2026-06-06T06:01:02.8847880Z       "id": "REQ-TERM-1",
2026-06-06T06:01:02.8848607Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-06T06:01:02.8848893Z       "requiredStages": [
2026-06-06T06:01:02.8849140Z         "impl",
2026-06-06T06:01:02.8849467Z         "unit"
2026-06-06T06:01:02.8849735Z       ],
2026-06-06T06:01:02.8849980Z       "stages": {
2026-06-06T06:01:02.8850225Z         "doc": {
2026-06-06T06:01:02.8850522Z           "complete": false,
2026-06-06T06:01:02.8850782Z           "evidence": []
2026-06-06T06:01:02.8851018Z         },
2026-06-06T06:01:02.8851261Z         "impl": {
2026-06-06T06:01:02.8851546Z           "complete": true,
2026-06-06T06:01:02.8852051Z           "evidence": [
2026-06-06T06:01:02.8852298Z             {
2026-06-06T06:01:02.8852716Z               "path": "crates/spt-term/src/pty.rs",
2026-06-06T06:01:02.8852973Z               "line": 61
2026-06-06T06:01:02.8853214Z             },
2026-06-06T06:01:02.8853444Z             {
2026-06-06T06:01:02.8853828Z               "path": "crates/spt-term/src/pty.rs",
2026-06-06T06:01:02.8854088Z               "line": 169
2026-06-06T06:01:02.8854355Z             },
2026-06-06T06:01:02.8854642Z             {
2026-06-06T06:01:02.8855068Z               "path": "crates/spt-term/src/surface.rs",
2026-06-06T06:01:02.8855501Z               "line": 95
2026-06-06T06:01:02.8855731Z             }
2026-06-06T06:01:02.8855972Z           ]
2026-06-06T06:01:02.8856205Z         },
2026-06-06T06:01:02.8856452Z         "int": {
2026-06-06T06:01:02.8856738Z           "complete": false,
2026-06-06T06:01:02.8857010Z           "evidence": []
2026-06-06T06:01:02.8857249Z         },
2026-06-06T06:01:02.8857507Z         "unit": {
2026-06-06T06:01:02.8857795Z           "complete": true,
2026-06-06T06:01:02.8858052Z           "evidence": [
2026-06-06T06:01:02.8858289Z             {
2026-06-06T06:01:02.8858773Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-06T06:01:02.8859058Z               "line": 28
2026-06-06T06:01:02.8859392Z             },
2026-06-06T06:01:02.8859634Z             {
2026-06-06T06:01:02.8860088Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-06T06:01:02.8860345Z               "line": 60
2026-06-06T06:01:02.8860585Z             }
2026-06-06T06:01:02.8860827Z           ]
2026-06-06T06:01:02.8861075Z         }
2026-06-06T06:01:02.8861312Z       }
2026-06-06T06:01:02.8861541Z     },
2026-06-06T06:01:02.8861774Z     {
2026-06-06T06:01:02.8862045Z       "id": "REQ-TERM-2",
2026-06-06T06:01:02.8862827Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-06T06:01:02.8863124Z       "requiredStages": [
2026-06-06T06:01:02.8863372Z         "impl",
2026-06-06T06:01:02.8863614Z         "unit"
2026-06-06T06:01:02.8863842Z       ],
2026-06-06T06:01:02.8864101Z       "stages": {
2026-06-06T06:01:02.8864335Z         "doc": {
2026-06-06T06:01:02.8864625Z           "complete": false,
2026-06-06T06:01:02.8864892Z           "evidence": []
2026-06-06T06:01:02.8865123Z         },
2026-06-06T06:01:02.8865366Z         "impl": {
2026-06-06T06:01:02.8865645Z           "complete": true,
2026-06-06T06:01:02.8865920Z           "evidence": [
2026-06-06T06:01:02.8866153Z             {
2026-06-06T06:01:02.8866578Z               "path": "crates/spt-term/src/surface.rs",
2026-06-06T06:01:02.8866866Z               "line": 112
2026-06-06T06:01:02.8867101Z             },
2026-06-06T06:01:02.8867337Z             {
2026-06-06T06:01:02.8867750Z               "path": "crates/spt-term/src/surface.rs",
2026-06-06T06:01:02.8868024Z               "line": 122
2026-06-06T06:01:02.8868257Z             }
2026-06-06T06:01:02.8868493Z           ]
2026-06-06T06:01:02.8868743Z         },
2026-06-06T06:01:02.8868983Z         "int": {
2026-06-06T06:01:02.8869313Z           "complete": false,
2026-06-06T06:01:02.8869580Z           "evidence": []
2026-06-06T06:01:02.8869818Z         },
2026-06-06T06:01:02.8870053Z         "unit": {
2026-06-06T06:01:02.8870340Z           "complete": true,
2026-06-06T06:01:02.8870608Z           "evidence": [
2026-06-06T06:01:02.8870841Z             {
2026-06-06T06:01:02.8871274Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-06T06:01:02.8871530Z               "line": 46
2026-06-06T06:01:02.8871771Z             },
2026-06-06T06:01:02.8872000Z             {
2026-06-06T06:01:02.8872449Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-06T06:01:02.8872716Z               "line": 71
2026-06-06T06:01:02.8872942Z             }
2026-06-06T06:01:02.8873182Z           ]
2026-06-06T06:01:02.8873405Z         }
2026-06-06T06:01:02.8873634Z       }
2026-06-06T06:01:02.8873862Z     },
2026-06-06T06:01:02.8874096Z     {
2026-06-06T06:01:02.8874563Z       "id": "REQ-TERM-3",
2026-06-06T06:01:02.8875108Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-06T06:01:02.8875404Z       "requiredStages": [
2026-06-06T06:01:02.8875648Z         "impl",
2026-06-06T06:01:02.8875890Z         "unit"
2026-06-06T06:01:02.8876117Z       ],
2026-06-06T06:01:02.8876370Z       "stages": {
2026-06-06T06:01:02.8876614Z         "doc": {
2026-06-06T06:01:02.8876896Z           "complete": false,
2026-06-06T06:01:02.8877169Z           "evidence": []
2026-06-06T06:01:02.8877391Z         },
2026-06-06T06:01:02.8877633Z         "impl": {
2026-06-06T06:01:02.8878050Z           "complete": true,
2026-06-06T06:01:02.8878324Z           "evidence": [
2026-06-06T06:01:02.8878561Z             {
2026-06-06T06:01:02.8878960Z               "path": "crates/spt-term/src/stream.rs",
2026-06-06T06:01:02.8879291Z               "line": 71
2026-06-06T06:01:02.8879528Z             }
2026-06-06T06:01:02.8879765Z           ]
2026-06-06T06:01:02.8879995Z         },
2026-06-06T06:01:02.8880256Z         "int": {
2026-06-06T06:01:02.8880544Z           "complete": false,
2026-06-06T06:01:02.8880814Z           "evidence": []
2026-06-06T06:01:02.8881048Z         },
2026-06-06T06:01:02.8881286Z         "unit": {
2026-06-06T06:01:02.8881570Z           "complete": true,
2026-06-06T06:01:02.8881827Z           "evidence": [
2026-06-06T06:01:02.8882065Z             {
2026-06-06T06:01:02.8882498Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-06T06:01:02.8882754Z               "line": 37
2026-06-06T06:01:02.8882985Z             },
2026-06-06T06:01:02.8883217Z             {
2026-06-06T06:01:02.8883655Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-06T06:01:02.8883915Z               "line": 67
2026-06-06T06:01:02.8884159Z             }
2026-06-06T06:01:02.8884388Z           ]
2026-06-06T06:01:02.8884615Z         }
2026-06-06T06:01:02.8884855Z       }
2026-06-06T06:01:02.8885084Z     },
2026-06-06T06:01:02.8885316Z     {
2026-06-06T06:01:02.8885596Z       "id": "REQ-TERM-4",
2026-06-06T06:01:02.8887367Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-06T06:01:02.8887660Z       "requiredStages": [
2026-06-06T06:01:02.8887900Z         "impl",
2026-06-06T06:01:02.8888138Z         "unit",
2026-06-06T06:01:02.8888373Z         "int"
2026-06-06T06:01:02.8888608Z       ],
2026-06-06T06:01:02.8888851Z       "stages": {
2026-06-06T06:01:02.8889091Z         "doc": {
2026-06-06T06:01:02.8889420Z           "complete": true,
2026-06-06T06:01:02.8889684Z           "evidence": [
2026-06-06T06:01:02.8889937Z             {
2026-06-06T06:01:02.8890255Z               "path": "docs/MANIFEST.md",
2026-06-06T06:01:02.8890525Z               "line": 115
2026-06-06T06:01:02.8890759Z             }
2026-06-06T06:01:02.8891005Z           ]
2026-06-06T06:01:02.8891241Z         },
2026-06-06T06:01:02.8891488Z         "impl": {
2026-06-06T06:01:02.8891774Z           "complete": true,
2026-06-06T06:01:02.8892048Z           "evidence": [
2026-06-06T06:01:02.8892285Z             {
2026-06-06T06:01:02.8892703Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-06T06:01:02.8892977Z               "line": 471
2026-06-06T06:01:02.8893222Z             },
2026-06-06T06:01:02.8893463Z             {
2026-06-06T06:01:02.8898876Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:01:02.8899323Z               "line": 41
2026-06-06T06:01:02.8899580Z             },
2026-06-06T06:01:02.8899834Z             {
2026-06-06T06:01:02.8900304Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:01:02.8900614Z               "line": 91
2026-06-06T06:01:02.8900841Z             },
2026-06-06T06:01:02.8901080Z             {
2026-06-06T06:01:02.8901508Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:01:02.8901779Z               "line": 152
2026-06-06T06:01:02.8902025Z             },
2026-06-06T06:01:02.8902249Z             {
2026-06-06T06:01:02.8902962Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:01:02.8903231Z               "line": 212
2026-06-06T06:01:02.8903472Z             },
2026-06-06T06:01:02.8903702Z             {
2026-06-06T06:01:02.8904155Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-06T06:01:02.8904418Z               "line": 20
2026-06-06T06:01:02.8904653Z             },
2026-06-06T06:01:02.8904885Z             {
2026-06-06T06:01:02.8905327Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-06T06:01:02.8905595Z               "line": 212
2026-06-06T06:01:02.8905830Z             },
2026-06-06T06:01:02.8906212Z             {
2026-06-06T06:01:02.8906675Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-06T06:01:02.8906936Z               "line": 226
2026-06-06T06:01:02.8907177Z             },
2026-06-06T06:01:02.8907407Z             {
2026-06-06T06:01:02.8907866Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.8908120Z               "line": 625
2026-06-06T06:01:02.8908376Z             },
2026-06-06T06:01:02.8908616Z             {
2026-06-06T06:01:02.8909014Z               "path": "crates/spt-term/src/digest.rs",
2026-06-06T06:01:02.8909332Z               "line": 157
2026-06-06T06:01:02.8909567Z             },
2026-06-06T06:01:02.8909808Z             {
2026-06-06T06:01:02.8910209Z               "path": "crates/spt-term/src/digest.rs",
2026-06-06T06:01:02.8910489Z               "line": 199
2026-06-06T06:01:02.8910730Z             },
2026-06-06T06:01:02.8910964Z             {
2026-06-06T06:01:02.8911381Z               "path": "crates/spt-term/src/digest.rs",
2026-06-06T06:01:02.8911665Z               "line": 226
2026-06-06T06:01:02.8911908Z             },
2026-06-06T06:01:02.8912144Z             {
2026-06-06T06:01:02.8912500Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8912771Z               "line": 656
2026-06-06T06:01:02.8913002Z             }
2026-06-06T06:01:02.8913241Z           ]
2026-06-06T06:01:02.8913485Z         },
2026-06-06T06:01:02.8913729Z         "int": {
2026-06-06T06:01:02.8914007Z           "complete": true,
2026-06-06T06:01:02.8914283Z           "evidence": [
2026-06-06T06:01:02.8914524Z             {
2026-06-06T06:01:02.8914969Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-06T06:01:02.8915239Z               "line": 18
2026-06-06T06:01:02.8915475Z             }
2026-06-06T06:01:02.8915713Z           ]
2026-06-06T06:01:02.8915942Z         },
2026-06-06T06:01:02.8916192Z         "unit": {
2026-06-06T06:01:02.8916478Z           "complete": true,
2026-06-06T06:01:02.8916733Z           "evidence": [
2026-06-06T06:01:02.8916984Z             {
2026-06-06T06:01:02.8917416Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:01:02.8917689Z               "line": 250
2026-06-06T06:01:02.8917921Z             },
2026-06-06T06:01:02.8918158Z             {
2026-06-06T06:01:02.8918597Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:01:02.8918875Z               "line": 263
2026-06-06T06:01:02.8919114Z             },
2026-06-06T06:01:02.8919383Z             {
2026-06-06T06:01:02.8920536Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:01:02.8920827Z               "line": 275
2026-06-06T06:01:02.8921063Z             },
2026-06-06T06:01:02.8921306Z             {
2026-06-06T06:01:02.8921739Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:01:02.8922012Z               "line": 290
2026-06-06T06:01:02.8922248Z             },
2026-06-06T06:01:02.8922488Z             {
2026-06-06T06:01:02.8922926Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:01:02.8923203Z               "line": 305
2026-06-06T06:01:02.8923447Z             },
2026-06-06T06:01:02.8923681Z             {
2026-06-06T06:01:02.8924121Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:01:02.8924384Z               "line": 327
2026-06-06T06:01:02.8924630Z             },
2026-06-06T06:01:02.8924872Z             {
2026-06-06T06:01:02.8925482Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:01:02.8925751Z               "line": 337
2026-06-06T06:01:02.8925988Z             },
2026-06-06T06:01:02.8926232Z             {
2026-06-06T06:01:02.8926657Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-06T06:01:02.8926932Z               "line": 364
2026-06-06T06:01:02.8927180Z             },
2026-06-06T06:01:02.8927407Z             {
2026-06-06T06:01:02.8927868Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-06T06:01:02.8928131Z               "line": 338
2026-06-06T06:01:02.8928371Z             },
2026-06-06T06:01:02.8928797Z             {
2026-06-06T06:01:02.8929326Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-06T06:01:02.8929606Z               "line": 350
2026-06-06T06:01:02.8929840Z             },
2026-06-06T06:01:02.8930081Z             {
2026-06-06T06:01:02.8930524Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-06T06:01:02.8930812Z               "line": 367
2026-06-06T06:01:02.8931046Z             },
2026-06-06T06:01:02.8931286Z             {
2026-06-06T06:01:02.8931739Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-06T06:01:02.8932003Z               "line": 378
2026-06-06T06:01:02.8932249Z             },
2026-06-06T06:01:02.8932487Z             {
2026-06-06T06:01:02.8932939Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.8933205Z               "line": 810
2026-06-06T06:01:02.8933436Z             },
2026-06-06T06:01:02.8933680Z             {
2026-06-06T06:01:02.8934125Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.8934407Z               "line": 817
2026-06-06T06:01:02.8934643Z             },
2026-06-06T06:01:02.8934887Z             {
2026-06-06T06:01:02.8935339Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.8935599Z               "line": 832
2026-06-06T06:01:02.8935846Z             },
2026-06-06T06:01:02.8936085Z             {
2026-06-06T06:01:02.8936491Z               "path": "crates/spt-term/src/digest.rs",
2026-06-06T06:01:02.8936752Z               "line": 381
2026-06-06T06:01:02.8936995Z             },
2026-06-06T06:01:02.8937234Z             {
2026-06-06T06:01:02.8937629Z               "path": "crates/spt-term/src/digest.rs",
2026-06-06T06:01:02.8937898Z               "line": 402
2026-06-06T06:01:02.8938129Z             },
2026-06-06T06:01:02.8938373Z             {
2026-06-06T06:01:02.8938772Z               "path": "crates/spt-term/src/digest.rs",
2026-06-06T06:01:02.8939040Z               "line": 415
2026-06-06T06:01:02.8939331Z             },
2026-06-06T06:01:02.8939573Z             {
2026-06-06T06:01:02.8939981Z               "path": "crates/spt-term/src/digest.rs",
2026-06-06T06:01:02.8940246Z               "line": 434
2026-06-06T06:01:02.8940490Z             },
2026-06-06T06:01:02.8940726Z             {
2026-06-06T06:01:02.8941141Z               "path": "crates/spt-term/src/digest.rs",
2026-06-06T06:01:02.8941418Z               "line": 461
2026-06-06T06:01:02.8941657Z             },
2026-06-06T06:01:02.8941901Z             {
2026-06-06T06:01:02.8942332Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-06T06:01:02.8942599Z               "line": 32
2026-06-06T06:01:02.8942834Z             },
2026-06-06T06:01:02.8943077Z             {
2026-06-06T06:01:02.8943429Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.8943695Z               "line": 4333
2026-06-06T06:01:02.8943937Z             }
2026-06-06T06:01:02.8944169Z           ]
2026-06-06T06:01:02.8944407Z         }
2026-06-06T06:01:02.8944645Z       }
2026-06-06T06:01:02.8944879Z     },
2026-06-06T06:01:02.8945113Z     {
2026-06-06T06:01:02.8945383Z       "id": "REQ-UPD-1",
2026-06-06T06:01:02.8945816Z       "title": "Peer-propagated update over P2P",
2026-06-06T06:01:02.8946102Z       "requiredStages": [
2026-06-06T06:01:02.8946359Z         "impl",
2026-06-06T06:01:02.8946597Z         "unit",
2026-06-06T06:01:02.8947205Z         "int"
2026-06-06T06:01:02.8947447Z       ],
2026-06-06T06:01:02.8952862Z       "stages": {
2026-06-06T06:01:02.8953207Z         "doc": {
2026-06-06T06:01:02.8953504Z           "complete": false,
2026-06-06T06:01:02.8953785Z           "evidence": []
2026-06-06T06:01:02.8954019Z         },
2026-06-06T06:01:02.8954276Z         "impl": {
2026-06-06T06:01:02.8954566Z           "complete": true,
2026-06-06T06:01:02.8954830Z           "evidence": [
2026-06-06T06:01:02.8955070Z             {
2026-06-06T06:01:02.8955535Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-06T06:01:02.8955806Z               "line": 28
2026-06-06T06:01:02.8956299Z             },
2026-06-06T06:01:02.8956541Z             {
2026-06-06T06:01:02.8957013Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-06T06:01:02.8957272Z               "line": 74
2026-06-06T06:01:02.8957517Z             },
2026-06-06T06:01:02.8957749Z             {
2026-06-06T06:01:02.8958214Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-06T06:01:02.8958495Z               "line": 209
2026-06-06T06:01:02.8958739Z             },
2026-06-06T06:01:02.8958976Z             {
2026-06-06T06:01:02.8959483Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-06T06:01:02.8959755Z               "line": 22
2026-06-06T06:01:02.8959994Z             },
2026-06-06T06:01:02.8960235Z             {
2026-06-06T06:01:02.8960673Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-06T06:01:02.8960939Z               "line": 67
2026-06-06T06:01:02.8961183Z             },
2026-06-06T06:01:02.8961408Z             {
2026-06-06T06:01:02.8961871Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-06T06:01:02.8962134Z               "line": 80
2026-06-06T06:01:02.8962379Z             },
2026-06-06T06:01:02.8962609Z             {
2026-06-06T06:01:02.8963065Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-06T06:01:02.8963333Z               "line": 101
2026-06-06T06:01:02.8963582Z             },
2026-06-06T06:01:02.8963819Z             {
2026-06-06T06:01:02.8964255Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-06T06:01:02.8964530Z               "line": 37
2026-06-06T06:01:02.8964768Z             }
2026-06-06T06:01:02.8965005Z           ]
2026-06-06T06:01:02.8965246Z         },
2026-06-06T06:01:02.8965490Z         "int": {
2026-06-06T06:01:02.8965773Z           "complete": true,
2026-06-06T06:01:02.8966032Z           "evidence": [
2026-06-06T06:01:02.8966271Z             {
2026-06-06T06:01:02.8966749Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-06T06:01:02.8967027Z               "line": 190
2026-06-06T06:01:02.8967266Z             },
2026-06-06T06:01:02.8967497Z             {
2026-06-06T06:01:02.8967952Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-06T06:01:02.8968215Z               "line": 855
2026-06-06T06:01:02.8968454Z             }
2026-06-06T06:01:02.8968698Z           ]
2026-06-06T06:01:02.8968931Z         },
2026-06-06T06:01:02.8969227Z         "unit": {
2026-06-06T06:01:02.8969508Z           "complete": true,
2026-06-06T06:01:02.8969779Z           "evidence": [
2026-06-06T06:01:02.8970014Z             {
2026-06-06T06:01:02.8970469Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-06T06:01:02.8970747Z               "line": 120
2026-06-06T06:01:02.8971179Z             },
2026-06-06T06:01:02.8971621Z             {
2026-06-06T06:01:02.8972320Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-06T06:01:02.8973668Z               "line": 137
2026-06-06T06:01:02.8974465Z             },
2026-06-06T06:01:02.8975177Z             {
2026-06-06T06:01:02.8976062Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-06T06:01:02.8977204Z               "line": 201
2026-06-06T06:01:02.8978013Z             },
2026-06-06T06:01:02.8978705Z             {
2026-06-06T06:01:02.8979890Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-06T06:01:02.8981155Z               "line": 92
2026-06-06T06:01:02.8982327Z             },
2026-06-06T06:01:02.8982999Z             {
2026-06-06T06:01:02.8983897Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-06T06:01:02.8985135Z               "line": 128
2026-06-06T06:01:02.8985930Z             }
2026-06-06T06:01:02.8986574Z           ]
2026-06-06T06:01:02.8987208Z         }
2026-06-06T06:01:02.8987855Z       }
2026-06-06T06:01:02.8988485Z     },
2026-06-06T06:01:02.8989108Z     {
2026-06-06T06:01:02.8989937Z       "id": "REQ-UPD-2",
2026-06-06T06:01:02.8991311Z       "title": "All binaries signature-verified before handoff",
2026-06-06T06:01:02.8992969Z       "requiredStages": [
2026-06-06T06:01:02.8993775Z         "impl",
2026-06-06T06:01:02.8994428Z         "unit"
2026-06-06T06:01:02.8995094Z       ],
2026-06-06T06:01:02.8995756Z       "stages": {
2026-06-06T06:01:02.8996472Z         "doc": {
2026-06-06T06:01:02.8997250Z           "complete": false,
2026-06-06T06:01:02.8998151Z           "evidence": []
2026-06-06T06:01:02.8998960Z         },
2026-06-06T06:01:02.8999797Z         "impl": {
2026-06-06T06:01:02.9000635Z           "complete": true,
2026-06-06T06:01:02.9001545Z           "evidence": [
2026-06-06T06:01:02.9002250Z             {
2026-06-06T06:01:02.9003067Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-06T06:01:02.9004153Z               "line": 210
2026-06-06T06:01:02.9004877Z             },
2026-06-06T06:01:02.9005485Z             {
2026-06-06T06:01:02.9006479Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-06T06:01:02.9007627Z               "line": 294
2026-06-06T06:01:02.9008376Z             },
2026-06-06T06:01:02.9009023Z             {
2026-06-06T06:01:02.9016497Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.9017630Z               "line": 29
2026-06-06T06:01:02.9018356Z             },
2026-06-06T06:01:02.9018970Z             {
2026-06-06T06:01:02.9019882Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.9020970Z               "line": 151
2026-06-06T06:01:02.9021694Z             },
2026-06-06T06:01:02.9022303Z             {
2026-06-06T06:01:02.9023117Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.9024184Z               "line": 168
2026-06-06T06:01:02.9024905Z             },
2026-06-06T06:01:02.9025515Z             {
2026-06-06T06:01:02.9026319Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.9027381Z               "line": 274
2026-06-06T06:01:02.9028102Z             },
2026-06-06T06:01:02.9028708Z             {
2026-06-06T06:01:02.9030483Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.9031751Z               "line": 355
2026-06-06T06:01:02.9032618Z             },
2026-06-06T06:01:02.9033344Z             {
2026-06-06T06:01:02.9034192Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:01:02.9035327Z               "line": 149
2026-06-06T06:01:02.9036102Z             }
2026-06-06T06:01:02.9036870Z           ]
2026-06-06T06:01:02.9037478Z         },
2026-06-06T06:01:02.9038055Z         "int": {
2026-06-06T06:01:02.9038735Z           "complete": false,
2026-06-06T06:01:02.9039610Z           "evidence": []
2026-06-06T06:01:02.9040352Z         },
2026-06-06T06:01:02.9040984Z         "unit": {
2026-06-06T06:01:02.9041719Z           "complete": true,
2026-06-06T06:01:02.9042536Z           "evidence": [
2026-06-06T06:01:02.9043920Z             {
2026-06-06T06:01:02.9044896Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.9046104Z               "line": 440
2026-06-06T06:01:02.9047302Z             },
2026-06-06T06:01:02.9048065Z             {
2026-06-06T06:01:02.9049008Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.9050332Z               "line": 498
2026-06-06T06:01:02.9051207Z             },
2026-06-06T06:01:02.9051910Z             {
2026-06-06T06:01:02.9052808Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.9054004Z               "line": 512
2026-06-06T06:01:02.9055359Z             },
2026-06-06T06:01:02.9055993Z             {
2026-06-06T06:01:02.9056840Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.9057918Z               "line": 523
2026-06-06T06:01:02.9059336Z             },
2026-06-06T06:01:02.9060018Z             {
2026-06-06T06:01:02.9060843Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.9061970Z               "line": 599
2026-06-06T06:01:02.9063064Z             },
2026-06-06T06:01:02.9063708Z             {
2026-06-06T06:01:02.9064552Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:01:02.9066186Z               "line": 331
2026-06-06T06:01:02.9066999Z             },
2026-06-06T06:01:02.9067670Z             {
2026-06-06T06:01:02.9068541Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:01:02.9069833Z               "line": 344
2026-06-06T06:01:02.9070612Z             },
2026-06-06T06:01:02.9071254Z             {
2026-06-06T06:01:02.9072133Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-06T06:01:02.9073268Z               "line": 242
2026-06-06T06:01:02.9073981Z             }
2026-06-06T06:01:02.9074577Z           ]
2026-06-06T06:01:02.9075148Z         }
2026-06-06T06:01:02.9075680Z       }
2026-06-06T06:01:02.9076207Z     },
2026-06-06T06:01:02.9076706Z     {
2026-06-06T06:01:02.9077250Z       "id": "REQ-UPD-3",
2026-06-06T06:01:02.9078499Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-06T06:01:02.9080081Z       "requiredStages": [
2026-06-06T06:01:02.9080802Z         "impl",
2026-06-06T06:01:02.9081434Z         "unit",
2026-06-06T06:01:02.9082011Z         "int"
2026-06-06T06:01:02.9082563Z       ],
2026-06-06T06:01:02.9083140Z       "stages": {
2026-06-06T06:01:02.9100116Z         "doc": {
2026-06-06T06:01:02.9100906Z           "complete": false,
2026-06-06T06:01:02.9101702Z           "evidence": []
2026-06-06T06:01:02.9102435Z         },
2026-06-06T06:01:02.9103091Z         "impl": {
2026-06-06T06:01:02.9103766Z           "complete": true,
2026-06-06T06:01:02.9104506Z           "evidence": [
2026-06-06T06:01:02.9105131Z             {
2026-06-06T06:01:02.9105882Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-06T06:01:02.9106912Z               "line": 39
2026-06-06T06:01:02.9107577Z             },
2026-06-06T06:01:02.9108116Z             {
2026-06-06T06:01:02.9108861Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-06T06:01:02.9110085Z               "line": 69
2026-06-06T06:01:02.9110711Z             },
2026-06-06T06:01:02.9111232Z             {
2026-06-06T06:01:02.9111950Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:01:02.9112915Z               "line": 26
2026-06-06T06:01:02.9113546Z             },
2026-06-06T06:01:02.9114058Z             {
2026-06-06T06:01:02.9114753Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:01:02.9115709Z               "line": 111
2026-06-06T06:01:02.9116360Z             },
2026-06-06T06:01:02.9116872Z             {
2026-06-06T06:01:02.9117569Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:01:02.9118516Z               "line": 218
2026-06-06T06:01:02.9119141Z             },
2026-06-06T06:01:02.9120002Z             {
2026-06-06T06:01:02.9120616Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.9121490Z               "line": 1214
2026-06-06T06:01:02.9122137Z             }
2026-06-06T06:01:02.9122643Z           ]
2026-06-06T06:01:02.9123125Z         },
2026-06-06T06:01:02.9123613Z         "int": {
2026-06-06T06:01:02.9124207Z           "complete": true,
2026-06-06T06:01:02.9124890Z           "evidence": [
2026-06-06T06:01:02.9125495Z             {
2026-06-06T06:01:02.9126230Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-06T06:01:02.9127245Z               "line": 23
2026-06-06T06:01:02.9127868Z             }
2026-06-06T06:01:02.9128368Z           ]
2026-06-06T06:01:02.9128845Z         },
2026-06-06T06:01:02.9129981Z         "unit": {
2026-06-06T06:01:02.9130573Z           "complete": true,
2026-06-06T06:01:02.9131261Z           "evidence": [
2026-06-06T06:01:02.9131860Z             {
2026-06-06T06:01:02.9132577Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-06T06:01:02.9133579Z               "line": 276
2026-06-06T06:01:02.9134207Z             },
2026-06-06T06:01:02.9134719Z             {
2026-06-06T06:01:02.9135414Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:01:02.9136377Z               "line": 243
2026-06-06T06:01:02.9137003Z             },
2026-06-06T06:01:02.9137698Z             {
2026-06-06T06:01:02.9138387Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:01:02.9139399Z               "line": 267
2026-06-06T06:01:02.9140039Z             },
2026-06-06T06:01:02.9140553Z             {
2026-06-06T06:01:02.9141255Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:01:02.9142219Z               "line": 278
2026-06-06T06:01:02.9142866Z             },
2026-06-06T06:01:02.9143386Z             {
2026-06-06T06:01:02.9144080Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-06T06:01:02.9145039Z               "line": 291
2026-06-06T06:01:02.9145677Z             }
2026-06-06T06:01:02.9146189Z           ]
2026-06-06T06:01:02.9146676Z         }
2026-06-06T06:01:02.9147149Z       }
2026-06-06T06:01:02.9147609Z     },
2026-06-06T06:01:02.9148077Z     {
2026-06-06T06:01:02.9148578Z       "id": "REQ-UPD-4",
2026-06-06T06:01:02.9149761Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-06T06:01:02.9151120Z       "requiredStages": [
2026-06-06T06:01:02.9151785Z         "impl",
2026-06-06T06:01:02.9152319Z         "unit"
2026-06-06T06:01:02.9152833Z       ],
2026-06-06T06:01:02.9153324Z       "stages": {
2026-06-06T06:01:02.9153879Z         "doc": {
2026-06-06T06:01:02.9154465Z           "complete": false,
2026-06-06T06:01:02.9155182Z           "evidence": []
2026-06-06T06:01:02.9155820Z         },
2026-06-06T06:01:02.9163153Z         "impl": {
2026-06-06T06:01:02.9163856Z           "complete": true,
2026-06-06T06:01:02.9164547Z           "evidence": [
2026-06-06T06:01:02.9165156Z             {
2026-06-06T06:01:02.9165883Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-06T06:01:02.9166874Z               "line": 40
2026-06-06T06:01:02.9167494Z             },
2026-06-06T06:01:02.9168011Z             {
2026-06-06T06:01:02.9168724Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-06T06:01:02.9169783Z               "line": 70
2026-06-06T06:01:02.9170438Z             },
2026-06-06T06:01:02.9170953Z             {
2026-06-06T06:01:02.9171651Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-06T06:01:02.9172610Z               "line": 23
2026-06-06T06:01:02.9173229Z             },
2026-06-06T06:01:02.9173735Z             {
2026-06-06T06:01:02.9174432Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-06T06:01:02.9175409Z               "line": 56
2026-06-06T06:01:02.9176028Z             },
2026-06-06T06:01:02.9176538Z             {
2026-06-06T06:01:02.9177236Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-06T06:01:02.9178203Z               "line": 77
2026-06-06T06:01:02.9178816Z             },
2026-06-06T06:01:02.9179366Z             {
2026-06-06T06:01:02.9180082Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-06T06:01:02.9181074Z               "line": 179
2026-06-06T06:01:02.9181697Z             },
2026-06-06T06:01:02.9182211Z             {
2026-06-06T06:01:02.9182884Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-06T06:01:02.9183825Z               "line": 98
2026-06-06T06:01:02.9184441Z             },
2026-06-06T06:01:02.9184954Z             {
2026-06-06T06:01:02.9185610Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.9186531Z               "line": 167
2026-06-06T06:01:02.9187167Z             },
2026-06-06T06:01:02.9187684Z             {
2026-06-06T06:01:02.9188627Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.9189558Z               "line": 1213
2026-06-06T06:01:02.9190196Z             }
2026-06-06T06:01:02.9190704Z           ]
2026-06-06T06:01:02.9191185Z         },
2026-06-06T06:01:02.9191665Z         "int": {
2026-06-06T06:01:02.9192237Z           "complete": false,
2026-06-06T06:01:02.9192951Z           "evidence": []
2026-06-06T06:01:02.9193568Z         },
2026-06-06T06:01:02.9194052Z         "unit": {
2026-06-06T06:01:02.9194633Z           "complete": true,
2026-06-06T06:01:02.9195308Z           "evidence": [
2026-06-06T06:01:02.9196083Z             {
2026-06-06T06:01:02.9196804Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-06T06:01:02.9197801Z               "line": 272
2026-06-06T06:01:02.9198442Z             },
2026-06-06T06:01:02.9198959Z             {
2026-06-06T06:01:02.9199751Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-06T06:01:02.9200759Z               "line": 306
2026-06-06T06:01:02.9201409Z             },
2026-06-06T06:01:02.9201919Z             {
2026-06-06T06:01:02.9202607Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-06T06:01:02.9203561Z               "line": 322
2026-06-06T06:01:02.9204193Z             },
2026-06-06T06:01:02.9204702Z             {
2026-06-06T06:01:02.9205396Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-06T06:01:02.9206356Z               "line": 102
2026-06-06T06:01:02.9206976Z             },
2026-06-06T06:01:02.9207488Z             {
2026-06-06T06:01:02.9208185Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-06T06:01:02.9209211Z               "line": 117
2026-06-06T06:01:02.9209847Z             },
2026-06-06T06:01:02.9210388Z             {
2026-06-06T06:01:02.9211080Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-06T06:01:02.9212041Z               "line": 136
2026-06-06T06:01:02.9212670Z             },
2026-06-06T06:01:02.9213192Z             {
2026-06-06T06:01:02.9213867Z               "path": "crates/spt-store/src/info.rs",
2026-06-06T06:01:02.9214786Z               "line": 352
2026-06-06T06:01:02.9215415Z             },
2026-06-06T06:01:02.9215948Z             {
2026-06-06T06:01:02.9216614Z               "path": "crates/spt-store/src/perch.rs",
2026-06-06T06:01:02.9217544Z               "line": 495
2026-06-06T06:01:02.9218167Z             },
2026-06-06T06:01:02.9218694Z             {
2026-06-06T06:01:02.9219353Z               "path": "crates/spt/src/cli.rs",
2026-06-06T06:01:02.9225851Z               "line": 3454
2026-06-06T06:01:02.9226543Z             }
2026-06-06T06:01:02.9227096Z           ]
2026-06-06T06:01:02.9227584Z         }
2026-06-06T06:01:02.9228056Z       }
2026-06-06T06:01:02.9228508Z     },
2026-06-06T06:01:02.9228971Z     {
2026-06-06T06:01:02.9229568Z       "id": "REQ-UPD-5",
2026-06-06T06:01:02.9230508Z       "title": "spt-core ripple-updates registered adapters",
2026-06-06T06:01:02.9231619Z       "requiredStages": [
2026-06-06T06:01:02.9232287Z         "impl",
2026-06-06T06:01:02.9232832Z         "unit"
2026-06-06T06:01:02.9233344Z       ],
2026-06-06T06:01:02.9233827Z       "stages": {
2026-06-06T06:01:02.9234378Z         "doc": {
2026-06-06T06:01:02.9234967Z           "complete": false,
2026-06-06T06:01:02.9235679Z           "evidence": []
2026-06-06T06:01:02.9236303Z         },
2026-06-06T06:01:02.9236797Z         "impl": {
2026-06-06T06:01:02.9237382Z           "complete": true,
2026-06-06T06:01:02.9238070Z           "evidence": [
2026-06-06T06:01:02.9238670Z             {
2026-06-06T06:01:02.9239467Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:01:02.9240527Z               "line": 27
2026-06-06T06:01:02.9241142Z             },
2026-06-06T06:01:02.9241658Z             {
2026-06-06T06:01:02.9242421Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:01:02.9243456Z               "line": 82
2026-06-06T06:01:02.9244096Z             },
2026-06-06T06:01:02.9244610Z             {
2026-06-06T06:01:02.9245660Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:01:02.9246707Z               "line": 134
2026-06-06T06:01:02.9247338Z             },
2026-06-06T06:01:02.9247852Z             {
2026-06-06T06:01:02.9248545Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.9249551Z               "line": 314
2026-06-06T06:01:02.9250190Z             },
2026-06-06T06:01:02.9250704Z             {
2026-06-06T06:01:02.9251403Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-06T06:01:02.9252374Z               "line": 342
2026-06-06T06:01:02.9253155Z             }
2026-06-06T06:01:02.9253741Z           ]
2026-06-06T06:01:02.9254221Z         },
2026-06-06T06:01:02.9254705Z         "int": {
2026-06-06T06:01:02.9255284Z           "complete": false,
2026-06-06T06:01:02.9256001Z           "evidence": []
2026-06-06T06:01:02.9256619Z         },
2026-06-06T06:01:02.9257108Z         "unit": {
2026-06-06T06:01:02.9257686Z           "complete": true,
2026-06-06T06:01:02.9258381Z           "evidence": [
2026-06-06T06:01:02.9258976Z             {
2026-06-06T06:01:02.9259791Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:01:02.9260841Z               "line": 216
2026-06-06T06:01:02.9261474Z             },
2026-06-06T06:01:02.9261984Z             {
2026-06-06T06:01:02.9262734Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:01:02.9263767Z               "line": 230
2026-06-06T06:01:02.9264382Z             },
2026-06-06T06:01:02.9264890Z             {
2026-06-06T06:01:02.9265638Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:01:02.9266689Z               "line": 244
2026-06-06T06:01:02.9267309Z             },
2026-06-06T06:01:02.9267835Z             {
2026-06-06T06:01:02.9268580Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:01:02.9269654Z               "line": 258
2026-06-06T06:01:02.9270277Z             },
2026-06-06T06:01:02.9270798Z             {
2026-06-06T06:01:02.9271560Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-06T06:01:02.9272601Z               "line": 292
2026-06-06T06:01:02.9273227Z             },
2026-06-06T06:01:02.9273749Z             {
2026-06-06T06:01:02.9274462Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-06T06:01:02.9275445Z               "line": 780
2026-06-06T06:01:02.9276064Z             }
2026-06-06T06:01:02.9276563Z           ]
2026-06-06T06:01:02.9277040Z         }
2026-06-06T06:01:02.9277517Z       }
2026-06-06T06:01:02.9277973Z     }
2026-06-06T06:01:02.9278421Z   ],
2026-06-06T06:01:02.9278921Z   "findings": []
2026-06-06T06:01:02.9279501Z }
